正如 Thread Dump 文件记录了当时 JVM 中线程运行的情况一样;Heap Dump记录了JVM中堆内存运行的情况。
可以通过以下几种方式生成Heap Dump 文件:
1、使用 jmap 命令生成
命令是 JDK提供的用于生成堆内存信息的工具,可以执行下面的命令生成 Heap Dump:
jmap -dump:live,format=b,file=heap-dump.bin
2、使用 JConsole 生成
JConsole 是 JDK 提供的一个基于 GUI 查看 JVM系统信息的工具,既可以管理本地的 JVM,也可以管理远程的JVM,可以通过工具中的 dumpHeap 按钮生成 Heap Dump 文件。
3、在 JVM 中增加参数生成
在 JVM 的配置参数中可以添加-XX:+HeapDump0nOutOfMemoryError 参数,当应用抛出 OutOfMemoryError 时自动生成 dump 文件;
在JVM的配置参数中添加-Xrunhprof:head=site 参数,会生成 java.hprof.txt文件,不过这样会影响 JVM 的运行效率,不建议在生产环境中使用
Was this helpful?
0 / 0