一、怎样获取Dump
-
通过OOM获取,即在OutOfMemoryError后获取一份HPROF二进制Heap Dump文件,可以在jvm里添加参数:
-XX:+HeapDumpOnOutOfMemoryError
该配置会把快照保存在用户目录或者tomcat目录下,也可以通过 -XX:HeapDumpPath=/tmp/heapdump.hprof 来显示指定路径 -
主动获取,即在虚拟机添加参数如下,然后在Ctrl+Break组合键即可获取一份Heap Dump
-XX:+HeapDumpOnCtrlBreak
-
使用HPROF agent
使用Agent可以在程序执行结束时或受到SIGOUT信号时生成Dump文件。配置在虚拟机的参数如下:
-agentlib:hprof=heap=dump,format=b
-
jmap 可以在cmd里执行,命令如下:
jmap -dump:format=b file=<文件名XX.hprof> <pid>
-
使用JConsole
-
使用Memory Analyzer Tools的File -> Acquire Heap Dump功能
二、分析工具
- MAT工具 下载链接:https://www.eclipse.org/mat/downloads.php 网速不好的基本