Eclipse MAT 工具的使用

 

一、安裝Eclipse MAT插件

1.打開Eclipse->help->add->輸入如下值


2.勾選Memory  Analyzer for Eclipse IDE選項


3.一直點擊next完成安裝


二、使用

1.打開ADT的DDMS視圖,在devices列表中選擇一個進程(這裏選擇oschina app進行分析)並點擊紅框處,然後點擊右邊那個按鈕

這時就會出現MAT的overview界面

2.界面分析

a.overview界面,如上圖,提供一個概覽界面

b.Histogram視圖,它提供每個類的對象統計


c.支配樹(Dominator Tree),提供程序中最佔內存的對象 (described later in the article)


d.對象查詢語言(Object Query Language Studio), 用來寫MAT查詢的工具


e.專家系統測試(Expert System Test)

i.堆Dump概況(Heap Dump Overview) –提供堆dump文件的詳細信息

ii.疑似泄露點(Leak Suspects) – 提供內存泄露疑點佔用內存大小,被誰加載的,以及類型等詳細信息。

iii.Top Components – 提供佔內存最多的對象信息,還包括可能的內存浪費信息.

f.查詢瀏覽器(Query Browser) – 提供很多很有用的查詢,有助於內存分析,本文將會介紹最有用的那些查詢。根據地址查找對象 – 可以根據提供的一個地址查找某個特定的對象.

i.對象列表(List Objects) – 顯示應用中所有對象,以及這些對象持有哪些其他對象和被哪些其他對象持有,(MAT會提示查詢哪一個對象)。

ii.根據類顯示對象(Show Objects by Class) – 列出每個類有多少對象.

iii.到GC根節點的路徑(Path to GC Roots) – 顯示到根節點的引用路徑 (有好多過濾選項).

iv.合併到GC根節點的最短路徑(Merge Shortest Paths to GC Roots) –找到從GC根節點到一個對象或一組對象的共同路徑

v.即時支配(Immediate Dominators) – Finds and aggregates on a class level all objects dominating a given set of objects. 在給定的一組對象中,從類的層面上查找並聚合所有支配關係。(在垃圾回收理論中支配是指從某個對象在另外一個對象的保留堆中)

vi.顯示保留集合(Show Retained Set) – 計算一個對象的保留堆大小.

g.餅圖 – 顯示持有內存最大的對象

h.直方圖 – 顯示每個類的對象數量

i.支配樹 – 列出所有對象,並按照對象持有的保留堆大小排序

j.檢查器 – 選擇一個對象,並顯示其詳細信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章