需求动机:解决 OOM( Object Out of Memory)问题以及系统调优
1. 如何产生 java heap dump
当 JVM中对象过多, java堆( java heap)耗尽时,就会产生 java heap dump文件。另外,可以使用工具或命令显示地产生该文件。在命令行中程序执行过程中按 ctrl+break可以产生,使用工具如, IBM HeapAnalyzer, Sap Memory Analyzer以及 eclipse memory analyzer都可以在指定状态产生 dump文件。
2. 如何分析 java heap dump 文件
这里以使用 ibm heapAnalyzer工具为例说明;在 ibm网站 https://www14.software.ibm.com/webapp/iwm/web/reg/download.do?source=AW-0IN&S_PKG=0IN&lang=en_US&cp=UTF-8下载 ha395.zip文件,后面数字是版本号。解压后用命令行进入到解压目录,使用如 java –Xmx800m –jar ha395.jar启动工具,如果启动过程中发现控制台有 java.lang.OutOfMemoryError出现,可以适当加大上面的数字( 800),给予更多的空间。
然后“ Open”产生的 dump文件,打开画面如下,文件很大的话需要等待一段时间
ibm he