1、heap
命令:jmap -heap pid
描述:顯示Java堆詳細(xì)信息
2、histo[:live]
命令:jmap -histo:live pid
描述:顯示堆中對(duì)象的統(tǒng)計(jì)信息
3、dump:
命令:jmap -dump:format=b,file=heapdump.phrof pid
描述:生成堆轉(zhuǎn)儲(chǔ)快照dump文件。
以hprof二進(jìn)制格式轉(zhuǎn)儲(chǔ)Java堆到指定filename的文件中。live子選項(xiàng)是可選的。如果指定了live子選項(xiàng),堆中只有活動(dòng)的對(duì)象會(huì)被轉(zhuǎn)儲(chǔ)。
Histogram,可列出每一個(gè)類的實(shí)例數(shù),支持正則表達(dá)式查找,也可以計(jì)算出該類所有對(duì)象的retained size。
Shallow Heap就是對(duì)象本身占用內(nèi)存的大小,不包含其引用的對(duì)象內(nèi)存,實(shí)際分析中作用不大。
Retained Heap值的計(jì)算方式是將RSet(當(dāng)該對(duì)象被回收時(shí)那些將被GC回收的對(duì)象集合)中的所有對(duì)象大小疊加?;蛘哒f,因?yàn)閄被釋放,導(dǎo)致其它所有被釋放對(duì)象(包括被遞歸釋放的)所占的heap大小。
1、選擇一個(gè)Class,右鍵選擇List objects > with incoming references,在新頁(yè)面會(huì)顯示通過這個(gè)class創(chuàng)建的對(duì)象信息。
2、然后再選擇一個(gè)對(duì)象,右鍵選擇Path to GC Roots > ****,通常在排查內(nèi)存泄漏的時(shí)候,我們會(huì)選擇exclude all phantom/weak/soft etc.references,意思是查看排除虛引用/弱引用/軟引用等的引用鏈,也就是強(qiáng)引用鏈。
Leak Suspects 界面提示可能存在內(nèi)存的泄露。
比方說大對(duì)象:
通過Details可以查看具體問題的詳情!
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。