分析 Java heap dump工具之IBM HeapAnalyzer


IBM HeapAnalyzer是一款免費的JVM內存堆的圖形分析工具,它可以有效的列舉堆的內存使用狀況,幫助分析Java內存泄漏的原因。

功能與MAT類似。

1.下載

https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=4544bafe-c7a2-455f-9d43-eb866ea60091

下載下來是一個jar包。ha456.jar

 2.運行環境要求

ha456.jar要求jdk1.7以上,並配置好環境變量。

 我們使用下面的代碼來生成堆轉儲快照文件

JVM參數為:

-verbose:gc -Xms10M -Xmx10M -XX:+HeapDumpOnOutOfMemoryError

生成文件名為java_pid5192.hprof的堆轉儲文件。

運行命令打開HeapAnalyzer

java –Xmx[heapsize] –jar ha456.jar 

Maximum heap size should not be larger than the size of available physical memory size for this tool due to performance issue.

 

3.打開堆轉儲文件java_pid5192.hprof

 

可以看到,堆內存的96.64%的空間被Test$OOMObject占用。

占用內存的對象找到了,就到代碼中分析就可以了。

具體使用方法請參照 ha423\下的readme.html,這里面講的很詳細

 


免責聲明!

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



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