有以下方法
触发
heap dump
jmap -dump:format=b,file=heap.bin <pid>
format=b的含义是,dump出来的文件时二进制格式。
file=heap.bin的含义是,dump出来的文件名是heap.bin。
<pid>就是JVM的进程号。
(在linux下)先执行ps aux | grep java,找到JVM的pid;
然后再执行jmap -dump:format=b,file=heap.bin <pid>,得到heap dump文件。
2. 使用$JAVA_HOME/bin/
jconsole
中的MBean,到
MBean>com.sun.management>HotSpotDiagnostic>operation>dumpHeap
中,点击 dumpHeap按钮。生成的dump文件在java应用的根目录下面。
3. 在应用启动时配置相关的参数
-XX:+HeapDumpOnOutOfMemoryError
,当应用抛出OutOfMemoryError时生成dump文件。