如果我没有启用"-Xloggc and -XX:-PrintGCTimeStamps",是否可以获得 GC 时间的百分比?



我想知道New Relic如何报告我的GC时间百分比,因为我没有启用-Xloggc-XX:-PrintGCTimeStamps。。

还有别的办法吗?

Java总是计算GC信息,loggc只决定它是否被记录到文件中。即使它没有记录到文件中,它也可以通过JMX使用。

看看这个例子。

Pace的回答是正确的。一种方法是定期轮询每个已注册的GarbageCollectionMXBean实例。通过调用MXBean的getCollectionTime()属性/方法,记录当前系统时间戳和到目前为止累积的收集时间来启动泵。此后的每个时段,计算采集时间的增量和上一个间隔的经过时间。该垃圾收集器的GC时间百分比将为经过的收集时间/经过的时间X 100。或多或少

最新更新