天天看點

dump分析工具_Linux使用MAT分析dump檔案

上文中,談到了windows如何使用MAT分析堆快照,查找記憶體洩漏?那麼在生産上如何分析dump檔案呢?

生産上分析dump檔案的話,還是linux工具比較友善,因為生産上的dump檔案一般都比較大,這麼大的檔案拷貝到本機要耗費很長時間。

那麼linux有什麼好的解析dump工具呢? 如何解析 java dump的檔案?

本文就來說一下 MAT在Linxu中的用法:

Eclipse的MAT工具下載下傳連結 MAT支援各種作業系統,找到Linux版本下載下傳下來# 運作uname -m 看一下linux是 x86_64還是 x86的幫助你選擇下載下傳那個版本。uname -m#x86_64wget http://eclipse.stu.edu.tw/mat/1.9.0/rcp/MemoryAnalyzer-1.9.0.20190605-linux.gtk.x86_64.zip
           

解壓配置MAT基本參數

jmap -dump:format=b,file=jmap.info PID
           

jmap dump整個堆 在哪個路徑下 運作 就會在哪個路徑下生成dump檔案 PID 為程序号

./ParseHeapDump.sh jmap.info  org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components
           

MAT分析 dump

./ParseHeapDump.sh jmap.info  org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components
           

等待結果....

結果會在與dump檔案同路徑下 生産如下三個zip檔案以及其他非zip檔案 這三個zip檔案很重要,檔案很小可以直接拷貝到本機

dump分析工具_Linux使用MAT分析dump檔案
jmap_Leak_Suspects.zipjmap_System_Overview.zipjmap_Top_Components.zip
           

檢視報告結果

有兩種檢視報告的方法

  • 直接把zip下載下傳到本地,然後解壓用浏覽器檢視index.html
  • 把zip下載下傳到本地, 用MAT可視化工具解析zip

繼續閱讀