GarbageCollectorMXBean#getCollectionTime()是否指示GC的时间JVM被暂停*?

时间:2017-06-21 21:21:21

标签: java garbage-collection jvm jmx

GarbageCollectorMXBean.html#getCollectionTime()上的文档很少。

它说:

  

以毫秒为单位返回已累计的累计收集时间。如果未对此收集器定义集合已用时间,则此方法返回-1。

     

Java虚拟机实现可以使用高分辨率计时器来测量经过的时间。即使收集计数已经增加,如果收集时间非常短,此方法也可能返回相同的值。

我想要了解的是这个"积累的收集时间是否已经过去"是实时的JVM暂停期间(这是一个易于理解的概念)或是否意味着一些模糊的东西。

1 个答案:

答案 0 :(得分:1)

没有。这意味着收集垃圾所花费的时间。它没有说明有多长时间(如果有的话,取决于所使用的GC算法)JVM在此期间暂停了。

您可以使用该信息计算平均收集时间,从而了解生成的垃圾量。

您可以将MXBean中的值与例如jstat或常规-XX:+PrintGCDetails生成的准确统计信息进行比较。