MAT 工具的使用的一些知識

來源:互聯網
上載者:User
Mat工具

一、圖示

1.餅狀圖:反應的大的對象的佔用的retainedsize。

a.可以反映出相關對象所在的類,大小,以及classloader。

2.柱狀圖:根據不同的類類型的執行個體個數,按執行個體的數目多少列出

a.根據不同的類類型來列出所佔用的大小。比如int[]類型的大小佔用。

b.通過listobjects->with incoming references找出具體的變數名。

c.樹狀圖可以根據不同包,類型,以及不同的classloader來查詢佔用情況。

d.可以通過比較兩個hprof檔案類類型的對象個數來定位增長。

e.柱狀圖可以列出不同類型的執行個體個數及所佔大小。

3.樹狀圖:根據不同對象佔用的retainedsize列出

二、使用OQL可以查詢語句。

三、匯出報告

四、使用舉例

1.進入柱狀圖-》通過尋找自己定義類的個數-》listobjects
with incoming references-》選中某個對象-》Pathto gc roots
(excludeall soft/weak/phantom references)

2.進入柱狀圖-》Groupby
package-》找到自己的包,自己的類-》查看個數,佔用大小。

3.樹狀圖找出開銷最大的對象。

進入樹狀圖,根據顯示出來的佔用情況-》listobjects
with outcoming references-》找出佔用大的對象。

4.開啟兩個hprof檔案,這兩個檔案是不同時刻的,通過比較數目及佔有大小的變化來定位問題。

柱狀圖-》compareto
another heap dump-》選擇-》查看數目變化大的,或者retainedsize大的物件。也可以搜尋自己的類,來查看變化。

五、附

1.佔用方式:

i.shallowsize:

a.對象本身佔用記憶體的大小,不包含對其他對象的引用。

b.對象頭+成員變數(不是成員變數值)的大小。

i.retainedsize:

a.對象能直接或間接訪問到的對象的Shallow之和。

b.同樣是指這個對象被回收後能夠被gc的大小。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.