利用JMAP+MAT分析Java Heap Dump

若是你的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

相關文章
相關標籤/搜索