jvm---6.1、dump 文件分析工具 IBM HeapAnalyzer
IBM heap分析器工具
官方网站:
3359 www.IBM.com/developer works/community/groups/service/html/community view? community uuid=4544 bafe-c7a2- 455 f-9d 43-EB 866 ea 60091
官方网站翻译如下:
在HeapAnalyzer中,可以使用启发式搜索引擎来搜索可能存在Java堆泄漏的区域,并分析Java APP应用程序中的Java堆转储。
Java堆定义了对象、数组和类。 当垃圾收集器分配堆中的存储空间时,对象仍处于活动状态,并且其引用存在于JVM活动状态的某个位置。 因此,此对象是可访问的。 如果对象不再从活动状态被引用,则会变为垃圾,并且可以重复使用。 如果发生这种回收,垃圾回收器必须处理潜在的终结器,并确保与对象关联的内部JVM资源已返回到此类资源的池中。 Java堆转储是特定时间的Java堆的快照。
如何工作:
HeapAnalyzer通过分析Java堆转储,创建有向图,将其转换为有向树,然后运行启发式搜索引擎来分析Java堆转储。
功能的示例如下所示。
Java堆泄露嫌疑人列表
推荐kCluster的大小
分配的对象/类/数组之间的间隙列表
Java对象/类/数组搜索引擎
按类型name列出的对象/类/数组列表
按对象名称列出的对象/类/数组
按地址列出对象/类/数组
按大小排列的对象/类/数组
按大小列出的对象/类/数组列表
子对象/类/数组列表
按频率排列的对象/类/数组
按大小列出可用堆空间
Java堆转储树视图
加载/保存处理的Java堆转储。
使用
下载并运行的jar (官方网站下的链接) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) jar ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) 652 )
FTP ://public.dhe.IBM.com/software/WebSphere/appserv/support/tools/heap analyzer/ha 456.jar
执行:
# java -Xmx4g -jar ha456.jar
在文件打开中打开dump文件时,会自动显示分析结果
分析-分析视图快速定位OOM
注:对于大内存,堆文件可能会有几十个g,可能不会生成堆文件,也可能无法分析。