且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

利用JMAP+MAT分析Java Heap Dump

更新时间:2022-01-26 21:43:32

如果你的Heap Dump文件超过了几百MB,那就不要再寄希望于jhat了,因为jhat需要数倍于dump文件的内存。这个时候你可以用MAT(Memory Analyzer),用MAT你可以在有2GB可用内存的机器上分析大约1GB左右的Dump文件。

生成Heap Dump文件的方法:

JMAP(Java Memory Map)

方法一:让运行中的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/dump

用jhat分析Dump文件
注:只有在Dump文件比较小的时候才适合用jhat分析Dump文件
jhat(Java Heap Analysis Tool)
jhat -stack false -refs false -J-Xmx2g /path/to/heap/dump/heap.bin

用MAT分析Dump文件
MAT(Memory Analyzer)

http://www.eclipse.org/mat/

安装MAT插件





本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/759221,如需转载请自行联系原作者