我想知道New Relic如何报告我的GC时间百分比,因为我没有启用-Xloggc
和-XX:-PrintGCTimeStamps
。。
还有别的办法吗?
Java总是计算GC信息,loggc只决定它是否被记录到文件中。即使它没有记录到文件中,它也可以通过JMX使用。
看看这个例子。
Pace的回答是正确的。一种方法是定期轮询每个已注册的GarbageCollectionMXBean实例。通过调用MXBean的getCollectionTime()属性/方法,记录当前系统时间戳和到目前为止累积的收集时间来启动泵。此后的每个时段,计算采集时间的增量和上一个间隔的经过时间。该垃圾收集器的GC时间百分比将为经过的收集时间/经过的时间X 100。或多或少