java dump如何生成
Java Heap Dump生成方法
使用JDK自带的jmap工具生成Heap Dump文件。命令格式如下:
jmap -dump:format=b,file=<filename.hprof> <pid>
其中<pid>是目标Java进程的ID,可通过jps命令查看。

通过JVM参数触发
在JVM启动参数中添加以下选项,可在OutOfMemoryError发生时自动生成Heap Dump:
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=<path/to/dump.hprof>
使用JVisualVM工具
- 启动JDK自带的
jvisualvm工具 - 连接目标Java进程
- 右键选择"Heap Dump"选项
- 生成的Dump文件会显示在"Application"标签下的"Heap Dump"节点中
通过JMX方式生成
通过JMX客户端(如JConsole)连接Java进程:

- 打开MBean浏览器
- 导航至
com.sun.management/HotSpotDiagnostic - 调用
dumpHeap操作 - 指定输出文件路径和是否仅包含存活对象
使用Eclipse MAT插件
如果使用Eclipse Memory Analyzer Tool:
- 安装MAT插件
- 通过MAT的"Acquire Heap Dump"功能
- 选择本地或远程Java进程
- 指定保存路径生成Dump文件
Linux系统强制生成
在Linux系统下可通过发送信号量强制生成:
kill -3 <pid>
生成的Heap Dump会输出到标准错误流,需重定向到文件。






