天天看點

jmap dump通過eclipse分析jvm堆記憶體

記憶體不足、GC異常等情況下,我們就會懷疑有記憶體洩露。監測方法如下

1 生成二進制hprof檔案

查找項目pid,然後通過如下指令生成hprof檔案

jmap -dump:format=b,file=filename.hprof pid

注:沒加字尾名,後面檔案重名了。

jmap dump通過eclipse分析jvm堆記憶體

2 eclipse安裝記憶體分析工具MAT(Memory Analyzer Tool)

Mat插件的位址:http://download.eclipse.org/mat/1.6/update-site/

3 MAT分析檔案

eclipse轉到memory analysis界面

actons中Histogram列出每個類的執行個體數,Dominator Tree列出最大存活對象,Top Consumers列印出最高消耗對象,Leak Suspects包括洩露嫌疑人和系統概述

Top Components熱門元件:列出大于總堆的1%的元件的報告。

Shallow Size 對象自身占用的記憶體大小,不包括它引用的對象。

Retained Size 目前對象大小+目前對象可直接或間接引用到的對象的大小總和。GC後釋放記憶體。

jmap dump通過eclipse分析jvm堆記憶體
4更多

細化名詞:http://inter12.iteye.com/blog/1407492

細節處理:https://blog.csdn.net/alli0968/article/details/52460008