HeapAnalyzer分析工具


HeapAnalyzer分析工具

  由於jvisualvm或jmap生成的dump文件太大,常常需要用到dump文件分析工具對dump文件進行分析。HeapAnalyzer通過分析heapdump文件,以了解哪些對象占用了太多的堆棧空間,來發現導致內存泄露或者可能引起內存泄露的對象。啟動后使用open file菜單,瀏覽打開我們需要進行內存堆棧分析的heapdump文件。

IBM HeapAnalyzer運行環境要求JDK 1.6或以上;如果JDK版本過低,報錯如下:

Exception in thread "main" java.lang.NoClassDefFoundError: java/util/regex/PatternSyntaxException

運行時需要足夠大的內存,Heapdump文件一般比較大,打開耗時較長,推薦在配置比較好的機器上進行堆棧分析,這樣-Xmx設置大一點。

如果在解析heapdump文件時出現java.lang.OutOfMemoryError的報錯:

請嘗試最大堆大小(-Xmx)值給JVM更多的內存。由於該工具性能的要求,最大堆內存應不大於物理內存的大小。

啟動方法:

運行ha396.jar文件,在可執行文件run.bat/run.sh中配置環境變量:

 java -jar -Xmx3000m ha396.jar

 執行后打開IBM HeapAnalyzer圖形化界面,導入deapdump文件。

也可以通過命令行的方式直接打開heapdump文件:

 java -Xmx3000m -jar ha396.jar heapdump.20120503.170018.1510.0003.phd

 其中,Xmx3000m指定JVM分配的內存是3000m

 執行以上命令后,ha控制台出現如下結果。打開heapdump文件后的效果圖,可以選擇多種視圖進行分析,Tree View,Objects List等等。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM