-
在jvm启动的参数中,新增-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/admin/logs/java.hprof jvm参数。这样在发生jvm 内存溢出时,就会直接dump出java.hprof 文件了。
-
直接导出jvm内存信息。
jmap -dump:format=b,file=/home/admin/logs/heap.hprof javapid
linux下分析大dump文件
提前安装MemoryAnalyzer
1.使用ParseHeapDump.sh分析堆快照
./mat/ParseHeapDump.sh tomcat_dump/jvm.hprof
**主意:需要有足够大的内存来分析(比dump文件大),修改内存参数:安装目录下MemoryAnalyzer.ini的-Xmx9024m参数 **
2.使用ParseHeapDump.sh产生报告结果
./mat/ParseHeapDump.sh tomcat_dump/jvm.hprof org.eclipse.mat.api:suspects