1. 程式人生 > >深入理解Java虛擬機器-Eclipse Memory Analyzer 安裝使用說明

深入理解Java虛擬機器-Eclipse Memory Analyzer 安裝使用說明

Eclipse Memory Analyzer(簡稱MAT)是一個功能豐富且操作簡單的JVM Heap Dump分析工具,可以用來輔助發現記憶體洩漏減少記憶體佔用。
使用 Memory Analyzer 來分析生產環境的 Java 堆轉儲檔案,可以從數以百萬計的物件中快速計算出物件的 Retained Size,檢視是誰在阻止垃圾回收,並自動生成一個 Leak Suspect(記憶體洩露可疑點)報表。

官網地址:http://www.eclipse.org/mat/

 

在Eclipse中安裝說明

開啟Eclipse->Help->Eclipse Marketplace,搜尋memory,如下:

 

然後按著提示,一步一步確定,安裝成功後,提示需要重啟eclipse,如下圖:

重啟之後,歡迎頁面多了一個Memory Analyzer,點選開啟幫助文件:

使用說明

開啟eclipse後,將dump檔案拖入eclipse,選擇預設選項 Leak Suspects Report,如下圖:

開啟之後的主介面如下圖:

第一個選單:Overview,顯示了概要資訊,並且展示了MAT常用功能,如下圖:

第二個選單:Histogram,顯示了每個類例項的數量和大小,大小包括ShallowHeap,和RetainedHeap,如下圖:

第三個選單:Dominator_tree,列出HeapDump中處於活躍狀態的最大的物件,預設按著RetainedHeap排序,很容易找到佔用記憶體最多的物件,如下圖:

第四個選單:OQL,面向物件查詢語言(OQL),類似SQL,將類當做表,一個物件當做一條記錄行,成員變數當做表中的欄位。點選紅色歎號(Execute Query),進行查詢,如下圖:

第五個選單:ThreadOverride,檢視生成HeapDump檔案的時候,執行緒的執行情況,可以用於執行緒分析,如下圖: