我想知道 New Relic 如何报告我的GC时间百分比,因为我没有启用-Xloggc
和-XX:-PrintGCTimeStamps
..
还有其他方法吗?
答案 0 :(得分:1)
Java总是计算GC信息,loggc只确定它是否记录到文件中。即使它没有记录到文件,它也可以通过JMX获得。
看看this example。
答案 1 :(得分:0)
佩斯的回答是正确的。一种方法是定期轮询每个已注册的GarbageCollectionMXBean实例。通过调用MXBean的getCollectionTime()属性/方法,记录当前系统时间戳和累积收集时间来灌注泵。此后的每个时段,计算收集时间中的增量和来自前一时间间隔的经过时间。该垃圾收集器的GC时间百分比为 elapsed-collection-time / elapsed-time X 100 。或多或少......