eclipse memory analyzer最新免費版是一款eclipse內存分析插件,可以幫助開發者分析程序的內存占用情況,針對進行優化,需要的用戶趕快來下載吧。
對於大型 JAVA 應用程序來說,再精細的測試也難以堵住所有的漏洞,即便我們在測試階段進行了大量卓有成效的工作,很多問題還是會在生產環境下暴露出來,並且很難在測試環境中進行重現。JVM 能夠記錄下問題發生時係統的部分運行狀態,並將其存儲在堆轉儲 (Heap Dump) 文件中,從而為我們分析和診斷問題提供了重要的依據。
通常內存泄露分析被認為是一件很有難度的工作,一般由團隊中的資深人士進行。不過,今天我們要介紹的 MAT(Eclipse Memory Analyzer)被認為是一個“傻瓜式“的堆轉儲文件分析工具,你隻需要輕輕點擊一下鼠標就可以生成一個專業的分析報告。和其他內存泄露分析工具相比,MAT 的使用非常容易,基本可以實現一鍵到位,即使是新手也能夠很快上手使用。
MAT 的使用是如此容易,你是不是也很有興趣來親自感受下呢,那麼第一步我們先來安裝 MAT。
安裝方式主要有2種:eclipse插件和軟件版的。
1、eclipse插件安裝很簡單,點擊help ---install new software------add 然後添加新地址,路徑為:http://download.eclipse.org/mat/1.3/update-site/ 然後
2、軟件版的安裝路徑為:http://www.eclipse.org/mat/downloads.php,下載windows即可。
配置環境參數
安裝完成之後,為了更有效率的使用 MAT,我們還需要做一些配置工作。因為通常而言,分析一個堆轉儲文件需要消耗很多的堆空間,為了保證分析的效率和性能,在有條件的情況下,我們會建議分配給 MAT 盡可能多的內存資源。你可以采用如下兩種方式來分配內存更多的內存資源給 MAT。
一種是修改啟動參數 MemoryAnalyzer.exe -vmargs -Xmx4g
另一種是編輯文件 MemoryAnalyzer.ini,在裏麵添加類似信息 -vmargs – Xmx4g。
至此,MAT 就已經成功地安裝配置好了,開始進入實戰吧。
首先,獲取Heap dump文件。
有三種方式:
1、設置JVM參數,-XX:+HeapDumpOnOutOfMemoryError,在內存溢出的時候就會生成Heap dump文件
2、使用jmap。(windows可以通過任務管理器查看pid)
Java5:jmap -heap:format=b <pid>;
Java6:jmap -dump:format=b,file=HeapDump.bin <pid>
3、在本機運行java程序的時候,直接通過Memory Analyzer生成Heap dump文件。
其次,安裝Memory Analyzer。
現在已經出1.2.1了,下載地址http://www.eclipse.org/mat/downloads.php
也可以通過eclipse install new software ,地址http://download.eclipse.org/mat/1.2/update-site/
安好後就可以開始看問題啦!
進入後,主頁麵如下圖所示:
從上圖可以看到它的大部分功能。
1. Histogram可以列出內存中的對象,對象的個數以及大小。
2. Dominator Tree可以列出那個線程,以及線程下麵的那些對象占用的空間。
3.Top consumers通過圖形列出最大的object。
4.Leak Suspects通過MA自動分析泄漏的原因。
140.5M / 09-05
76.4M / 03-25
55M / 06-05
237.9M / 04-13
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
484.7M / 09-27
165.4M / 09-05
353.9M / 06-05
131.8M / 04-13
195.6M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
110.5M / 09-05
33.4M / 09-05
325.8M / 08-12
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
369M / 09-22
181.5M / 09-22
201.2M / 09-05
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
126.7M / 02-04
1.76G / 09-22
1.92G / 04-17
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
561.8M / 07-11
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06
132M / 07-06