publicclass
oom
}
publicclass
zip
public
void seta(lista)
public
void test(listlist)
}
public我刻意的製造了一段會溢位的**。class
r }
}
首先你可能需要改一下mat的配置檔案。
通過下圖的leak suspects分析是可以看出gc root的。比較**和圖中的b a。
還有其他的方式可以分析,點選dominator tree可以獲取到持有大物件的執行緒,然後在其上也可以執行gcroot的分析,如下圖。
最後說的話,
實際情況沒有這麼清晰的。你可能需要把gc root路徑上的每乙個都點一點來尋找到底**發生了問題。
使用MAT分析dump檔案
配置mat基本引數 jmap dump整個堆 linux mat分析 dump 檢視報告結果 修改mat的記憶體大小,注意這個大小要根據你dump檔案大小來的,如果dump檔案是5gb那麼 這裡最好配 5gb 否則會報mat記憶體不足的異常 memoryanalyzer.ini 修改memoryan...
使用MAT分析dump檔案定位程式問題
手工直接導,pid為程序號 memoryanalyzer.ini 配置檔案可以修改最大的記憶體,預設1g基本夠用了。若檔案太大可以臨時配8或16g大記憶體快速解析 執行命令 生成的檔案會和你的dump檔案在乙個目錄下,這裡為了區分,我將dumpwenjian放在新建的heap資料夾下,執行指令碼會生...
windbg分析dump檔案
1 開啟dump格式檔案 開啟windbg,通過選單 file open crash dump 選擇dump檔案開啟,也可通過cmd開啟dos命令視窗,切換到windbg所在目錄,利用命令 windbg z d lines2009 7 25 22 20 33 900.dmp z表示路徑 圖1.1 利...