了解和比较 GarbageCollectorMXBean 和 jstat 实用程序
Understanding and comparing GarbageCollectorMXBean and jstat utility
我正在尝试了解 jstat
的输出以及 Java 的 GarbageCollectorMXBean.getCollectionCount()
.
提供的 API
将 jstat
与 -gcutil
选项一起使用可提供名为 'FGC - Number of full GC events' 的统计数据。这个数字到底代表什么?它是否表示相应垃圾收集器收集的对象总数,如在该样本时间段内在次要和主要收集中清除的对象总数?如果不是,那代表什么?
来到GarbageCollectorMXBean.getCollectionCount()
,它是否也表示相同的东西-相应GC收集的对象总数。
如果有人能更好地理解以上内容,那就太好了!谢谢。
jstat
的 FGC
列显示 "full GC events" 的数量。这基本上意味着自 JVM 启动以来执行的完整垃圾收集次数。它没有说明收集对象的数量。
jstat
的 YGC
列显示相同的指标,但用于年轻代集合。
GarbageCollectorMXBean.getCollectionCount()
指标为您提供自 JVM 启动以来使用该特定垃圾收集器执行的收集次数。
一般来说,jstat
的 FGC
列和终身代收集器的 GarbageCollectorMXBean.getCollectionCount()
列会给你相同的数字。但是,存在一些细微差别。例如,如果您使用 Concurrent Mark Sweep 收集器,则每个 Full GC 将按 jstat
计为 2 "Full GC events",而 GarbageCollectorMXBean.getCollectionCount()
将其计为单个收集。
我正在尝试了解 jstat
的输出以及 Java 的 GarbageCollectorMXBean.getCollectionCount()
.
将 jstat
与 -gcutil
选项一起使用可提供名为 'FGC - Number of full GC events' 的统计数据。这个数字到底代表什么?它是否表示相应垃圾收集器收集的对象总数,如在该样本时间段内在次要和主要收集中清除的对象总数?如果不是,那代表什么?
来到GarbageCollectorMXBean.getCollectionCount()
,它是否也表示相同的东西-相应GC收集的对象总数。
如果有人能更好地理解以上内容,那就太好了!谢谢。
jstat
的 FGC
列显示 "full GC events" 的数量。这基本上意味着自 JVM 启动以来执行的完整垃圾收集次数。它没有说明收集对象的数量。
jstat
的 YGC
列显示相同的指标,但用于年轻代集合。
GarbageCollectorMXBean.getCollectionCount()
指标为您提供自 JVM 启动以来使用该特定垃圾收集器执行的收集次数。
一般来说,jstat
的 FGC
列和终身代收集器的 GarbageCollectorMXBean.getCollectionCount()
列会给你相同的数字。但是,存在一些细微差别。例如,如果您使用 Concurrent Mark Sweep 收集器,则每个 Full GC 将按 jstat
计为 2 "Full GC events",而 GarbageCollectorMXBean.getCollectionCount()
将其计为单个收集。