2015-04-02 13 views
2

我想了解jstat的輸出以及Java的GarbageCollectorMXBean.getCollectionCount()提供的API。瞭解和比較GarbageCollectorMXBean和jstat實用程序

使用jstat-gcutil選項提供了一個名爲'FGC - 完整GC事件的數量'的統計數據。這個數字是什麼意思?它是否表示相應垃圾收集器收集的對象總數,如該樣本時間段內在次要和主要收集中清除的總對象數?如果不是,那麼它表示什麼?

來到GarbageCollectorMXBean.getCollectionCount(),它是否也表示相同的東西 - 相應的GC收集的對象總數。

如果任何人都可以更好地理解上述內容,那太棒了!謝謝。

回答

1

FGCjstat顯示「完整GC事件」的數量。這基本上意味着自JVM啓動以來執行的完整垃圾收集的數量。它沒有提到收集到的對象的數量。

YGCjstat顯示相同的指標,但對於年輕一代的收藏。

GarbageCollectorMXBean.getCollectionCount()指標爲您提供自JVM啓動以來使用該特定垃圾收集器執行的收集數量。

通常,您的終身代收藏家的和GarbageCollectorMXBean.getCollectionCount()FGC列將爲您提供相同的編號。但是有一些細微的差異。例如,如果使用併發標記掃描收集器,則每個完整GC將按照jstat計算的2個「完整GC事件」計數,而GarbageCollectorMXBean.getCollectionCount()將將其計爲單個集合。