若是你的Heap Dump文件超过了几百MB,那就不要再寄但愿于jhat了,由于jhat须要数倍于dump文件的内存。这个时候你能够用MAT(Memory Analyzer),用MAT你能够在有2GB可用内存的机器上分析大约1GB左右的Dump文件。java
生成Heap Dump文件的方法:eclipse
JMAP(Java Memory Map)ide
方法一:让运行中的JVM生成Dump文件
/usr/java/jdk/bin/jmap -F -dump:format=b,file=/path/to/heap/dump/heap.bin PID插件
方法二:让JVM在遇到OOM(OutOfMemoryError)时生成Dump文件
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/heap/dumporm
用jhat分析Dump文件
注:只有在Dump文件比较小的时候才适合用jhat分析Dump文件
jhat(Java Heap Analysis Tool)
jhat -stack false -refs false -J-Xmx2g /path/to/heap/dump/heap.binip
用MAT分析Dump文件
MAT(Memory Analyzer)内存
http://www.eclipse.org/mat/get
安装MAT插件it