您好,登錄后才能下訂單哦!
1、heap
命令:jmap -heap pid
描述:顯示Java堆詳細信息
2、histo[:live]
命令:jmap -histo:live pid
描述:顯示堆中對象的統計信息
3、dump:<dump-options>
命令:jmap -dump:format=b,file=heapdump.phrof pid
描述:生成堆轉儲快照dump文件。
以hprof二進制格式轉儲Java堆到指定filename的文件中。live子選項是可選的。如果指定了live子選項,堆中只有活動的對象會被轉儲。
Histogram,可列出每一個類的實例數,支持正則表達式查找,也可以計算出該類所有對象的retained size。
Shallow Heap就是對象本身占用內存的大小,不包含其引用的對象內存,實際分析中作用不大。
Retained Heap值的計算方式是將RSet(當該對象被回收時那些將被GC回收的對象集合)中的所有對象大小疊加。或者說,因為X被釋放,導致其它所有被釋放對象(包括被遞歸釋放的)所占的heap大小。
1、選擇一個Class,右鍵選擇List objects > with incoming references,在新頁面會顯示通過這個class創建的對象信息。
2、然后再選擇一個對象,右鍵選擇Path to GC Roots > ****,通常在排查內存泄漏的時候,我們會選擇exclude all phantom/weak/soft etc.references,意思是查看排除虛引用/弱引用/軟引用等的引用鏈,也就是強引用鏈。
Leak Suspects 界面提示可能存在內存的泄露。
比方說大對象:
通過Details可以查看具體問題的詳情!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。