天天看點

Eclipse Memory Analyzer 記憶體分析

下載下傳分析工具

    記憶體溢出分析工具:Eclipse Memory Analyzer

   下載下傳位址:http://www.eclipse.org/mat/downloads.php

配置環境參數

通常而言,分析一個堆轉儲檔案需要消耗很多的堆空間,為了保證分析的效率和性能,建議配置設定給 MAT 盡可能多的記憶體資源。方法如下:

編輯檔案 MemoryAnalyzer.ini,在裡面添加類似資訊 -vmargs – Xmx5g。

創造記憶體溢出

public class HeapOOM {

	static class oomObject{} 
	
	public static void main(String[] args) {
		List<oomObject> list=new ArrayList<oomObject>();  
        while(true)  
             list.add(new oomObject()); 
	}

}           

獲得堆轉儲檔案

為你的eclipse、Idea等工具加上生産.hprof檔案的配置

Eclipse Memory Analyzer 記憶體分析

-XX:+HeapDumpOnOutOfMemoryError -Xms100m -Xmx150m

設定-Xms100m -Xmx150m是為了盡快記憶體溢出,并且生成的檔案不至于過大

運作代碼,等待記憶體溢出,産生的檔案在工作空間項目根目錄

Eclipse Memory Analyzer 記憶體分析

生成分析報告 

首先,啟動前面安裝配置好的 Memory Analyzer tool , 然後選擇菜單項 File- Open Heap Dump 來加載需要分析的堆轉儲檔案。檔案加載完成後,你可以看到下圖所示界面

Eclipse Memory Analyzer 記憶體分析

點leak suspects進去檢視洩露報告

如下圖可找到出問題的代碼!!!

繼續閱讀