簡體   English   中英

無法使用jvisualvm配置JBoss 5

[英]Unable to profile JBoss 5 using jvisualvm

我一直在得到一些java.lang.OutOfMemoryError: GC overhead limit exceeded在一夜之間運行我的Java應用程序時, java.lang.OutOfMemoryError: GC overhead limit exceeded錯誤:

java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid6376.hprof ...
Heap dump file created [512149941 bytes in 23.586 secs]
23:34:52,163 WARN  [HDScanner] Scan failed
java.lang.OutOfMemoryError: Java heap space
23:34:52,298 ERROR [ContainerBase] Exception invoking periodic operation: 
java.lang.OutOfMemoryError: Java heap space
23:34:52,321 ERROR [JIoEndpoint] Socket accept failed
java.lang.OutOfMemoryError: Java heap space
    at java.net.ServerSocket.accept(Unknown Source)
    at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
    at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:310)

如果我打開jvisualvm,我可以看到我確實沒有堆空間:

監控

我想對其進行分析以試圖弄清楚發生了什么 - 是否存在內存泄漏? 然而,我無法讓jvisualvm分析器做任何事情。 Profiler選項卡顯示有關啟用類共享的警告:

探查

...即使我已將-Xshare:off標志添加到我的VM args:

概觀

所以,

  • 有關如何使分析工作的任何想法?
  • 是否值得玩G1GC而不是...我目前使用的GC是什么?

在我看來,您在32位JVM上運行VisualVM,並且您的JBoss在64位JVM上運行。 在這種情況下,分析器和其他東西(如線程和CPU監視)在開箱即用的Windows上不起作用。 使用分析器,您將遇到錯誤#273 ,其中錯誤地啟用了分析器。 您應該執行以下操作:

  1. 下載最新的64位JDK(目前為JDK 6u23)。 它還包含最新版本的Java VisualVM
  2. 在VisualVM中使用內存采樣器(它具有比分析低得多的開銷),以查看是否可以發現問題。
  3. 如果這沒有幫助,請查看堆轉儲並嘗試找出正在發生的事情。
  4. 對JBoss服務器進行內存分析。 有關VisualVM中 Profiler的更多信息請參閱使用VisualVM進行概要分析,第1部分使用VisualVM進行概要分析,第2部分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM