java dump
命令通常用于生成 Java 進程的堆轉儲(heap dump)或線程轉儲(thread dump)。這些轉儲文件可以幫助開發人員診斷內存泄漏、死鎖、性能瓶頸等問題。
要生成堆轉儲,可以使用以下命令:
jmap -dump:live,format=b,file=heapdump.hprof <pid>
其中,<pid>
是 Java 進程的進程 ID。-dump:live
表示只轉儲存活的對象,format=b
表示以二進制格式輸出,file=heapdump.hprof
表示將轉儲文件保存為 heapdump.hprof。
要生成線程轉儲,可以使用以下命令:
jstack <pid> > threaddump.txt
其中,<pid>
是 Java 進程的進程 ID。該命令將線程轉儲信息輸出到 threaddump.txt 文件中。
分析這些轉儲文件通常需要使用專門的工具,如 Eclipse Memory Analyzer(MAT)、VisualVM 等。這些工具可以幫助開發人員更輕松地找到問題根源并進行調試。