效能監控之常見 Java Heap Dump 方法
效能監控之常見 Java Heap Dump 方法 關鍵,今天去目錄下面沒有看到有heapdump.bin檔案了。
從經驗上來說,我們應該記得在執行 Java 應用程式時始終使用 HeapDumpOnOutOfMemoryError 引數。
在記憶體不足或記憶體異常的情況下,會生成heapdump檔案。以下工具是在正常執行的情況下獲取heapdump檔案的方法。
1.jmap方式
格式:
jmap -dump:[live],format=b,file=<file-path> <pid>
demo:
jmap -dump:live,format=b,file=/usr/local/tomcat-auto-myProject-8081/logs/dump240513Jmap.hprof 9407
ps -ef | grep "專案名稱" 可以查詢獲取pid(程序ID)
2.jcmd方式
格式:
jcmd <pid> GC.heap_dump <file-path>
demo:
jcmd 9407 GC.heap_dump dump2405132.hprof
##注意:生成的檔案需要使用完整的路徑
jcmd 9407 GC.heap_dump /usr/local/tomcat-auto-myProject-8081/logs/dump240513Jcmd.hprof
3.下載
sz dump240513Jmap.hprof 9407
sz dump240513Jcmd.hprof
4.本地MAT工具開啟分析(MemoryAnalyzer.exe)