jmap
是 Java 提供的一個命令行工具,用于生成堆轉儲文件(heap dump)或打印出堆的內存映射。要使用 jmap
生成堆轉儲文件,請按照以下步驟操作:
首先,確保你的 Java 應用程序正在運行,并且你想要生成堆轉儲文件的時刻已經到來。
打開命令行界面(在 Windows 上是 CMD 或 PowerShell,在 Linux 或 macOS 上是 Terminal)。
使用 jmap
命令生成堆轉儲文件。以下是命令的基本格式:
jmap -dump:[live,]format=b,file=<output_file> <pid>
參數說明:
-dump
: 表示要生成堆轉儲文件。[live]
: 可選參數,表示是否只轉儲活動對象。如果不指定此參數,將轉儲整個堆。format=b
: 表示轉儲格式為二進制。還有其他格式可選,如 hprof
(用于 Eclipse MAT 分析器)等。file=<output_file>
: 指定輸出文件的名稱和路徑。<pid>
: 運行 Java 應用程序的進程 ID。例如,要為 PID 為 1234 的 Java 進程生成堆轉儲文件,并將其保存為 heap_dump.hprof
,請使用以下命令:
jmap -dump:live,format=b,file=heap_dump.hprof 1234
這將生成一個名為 heap_dump.hprof
的堆轉儲文件,其中包含活動對象的內存映射。你可以使用內存分析工具(如 Eclipse MAT)來分析此文件以查找內存泄漏或其他性能問題。