天天看點

java8沒有jmap_java – jmap工具僅作為root工作,輸出列不清...

通過運作此指令,可以預期與ClassLoaders相關的輸出,但它在JDK8中被修改為列印jcmd {pid} GC.class_stats指令的結果.一些細節可以在JDK-8010507和JDK-8195682問題中找到.

至于輸出 – 沒有比this one更多的文檔.一些描述可以在OpenJDK VM源代碼,heapInspection.cpp檔案中找到.我沒有發現這個輸出太有用,但這裡有一些解釋(基于此标題的描述,以及Java class format description):

>索引:此類的索引.

>超級:超級指數.如果為-1,則沒有超類(例如對于數組類型)

> InstBytes:類的所有執行個體占用的位元組數(以位元組為機關).

> KlassBytes:類本身占用的位元組數(以位元組為機關). (此類的InstanceKlass或ArrayKlass的大小.)

>注釋:所有注釋的大小(以位元組為機關)

> CpAll:常量池的所有部分的大小(Cp CpTags的總和CpCache CpOperands CpRefMap)

> MethodCount:此類中的數字方法(包括構造函數)

>位元組碼:類中位元組碼指令占用的大小

> MethodAll:方法及其中繼資料占用的所有空間的總和(MethodBytes Constmethod Stackmap Methoddata)

> ROAll:可能(可能)放置在隻讀記憶體中的所有類中繼資料的大小. (這可能會随着CDS design而改變)

> RWAll:必須放在讀/寫記憶體中的所有類中繼資料的大小. (這可能會随着CDS design而改變)

>總計:ROAll RWAll.請注意,這不包括InstBytes(是以執行個體不占用空間)

> ClassName:完全限定的類名.

希望能幫助到你.