首页 > 其他 > 详细

HeapAnalyzer内存溢出分析工具使用

时间:2015-08-02 02:03:52      阅读:2545      评论:0      收藏:0      [点我收藏+]

由于dump文件太大,常常需要用到dump文件分析工具对dump文件进行分析。

HeapAnalyzer通过分析heapdump文件,以了解哪些对象占用了太多的堆栈空间,来发现导致内存泄露或者可能引起内存泄露的对象。

启动后使用open file菜单,浏览打开我们需要进行内存堆栈分析的heapdump文件。

ha (IBM HeapAnalyzer):

· 运行环境要求JDK 1.6或以上;

如果JDK版本过低,报错如下:

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

· 运行需要足够大的内存:

Heapdump文件一般比较大,打开耗时较长,推荐在配置比较好的机器上进行堆栈分析,这样-Xmx设置大一点。

如果在解析heapdump文件时出现java.lang.OutOfMemoryError的报错:

X

请尝试最大堆大小(-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等等。

?

HeapAnalyzer内存溢出分析工具使用

原文:http://2978868146.iteye.com/blog/2232216

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!