1. 程式人生 > >記憶體洩漏檢測分析工具mat(memory analyzer tool) 的使用

記憶體洩漏檢測分析工具mat(memory analyzer tool) 的使用

.下載、安裝

地址:http://www.eclipse.org/mat/downloads.php  直接解壓即可

初始介面

.獲取對應程序的heapdump,使用jmap命令

        jmap -dump:live,format=b,file=test.hprof(儲存的檔名字)  pid(應用對應的程序id)

        此時觸發 jvm FGC

.點選Open a Heap Dump選擇heap dump檔案

.建議獲取不同時段的heapdump 在mat中開啟比較分析

開啟兩個heapdump,勾選Leak Suspects、選擇Hsitogram介面

  • Histogram可以列出記憶體中的物件,物件的個數以及大小。

  • Dominator Tree可以列出那個執行緒,以及執行緒下面的那些物件佔用的空間。

  • Top consumers通過圖形列出最大的object。

  • Leak Suspects通過MA自動分析洩漏的原因。

2中選擇 group by package 對比兩邊資料、排查問題

Leak Suspects(mat自動分析得出的可能出現問題的地方)

  深色部分為懷疑記憶體洩漏區域

點選details檢視

1.Shortest Paths To the Accumulation Point  表示 GC root到記憶體消耗聚集點的最短路徑

 

2.All Accumulated Objects by Class列舉了該物件所儲存的所有內容。

 

參考文章 

https://www.aliyun.com/jiaocheng/1838798.html?spm=5176.100033.2.19.25935c6fuCrYo0

https://www.aliyun.com/jiaocheng/839560.html?spm=5176.100033.2.14.25935c6ffWLuRK