jmap
命令用于生成 Java 进程的堆转储(heap dump)或打印出堆的内存映射
jmap -dump:[live,]format=b,file=<output_file_name> <pid>
其中:
<pid>
是 Java 进程的进程 ID。<output_file_name>
是你希望输出的堆转储文件名。live
(可选)表示仅生成活动对象的堆转储。如果不指定此选项,将生成整个堆的转储。format=b
表示以二进制格式输出堆转储。还有其他格式可选,如 hprof
(用于 HPROF 分析器)等。例如,要为进程 ID 为 1234 的 Java 进程生成堆转储,并将其保存为 heap_dump.hprof
,可以使用以下命令:
jmap -dump:live,format=b,file=heap_dump.hprof 1234
这将生成一个名为 heap_dump.hprof
的堆转储文件,其中包含活动对象的内存映射。