我想从point cut方法获得我正在运行的应用程序的gc活动状态。我需要的信息是年轻一代gc和完整gc分别花费的时间,就像在jstat -gcutil中一样。
我遇到了这个类ManagementFactory.getGarbageCollectorMXBeans,但它是基于收集器的,收集时间既涉及年轻gc,也涉及完整gc。
发布于 2016-05-11 13:32:05
jstat使用的是所谓的JVM性能计数器。它们可以通过编程方式访问。
访问计数器
不久前,我编写了一些包装了tools.jar中可用API的库,特别是https://github.com/gridkit/jvm-attach和perf data example。
PS类似的信息可以从MBeans中检索到,年轻和年长的收集者具有不同的MBean,因此您可以分别跟踪他们。此外,MBeans可能会发送关于GC事件的通知。
https://stackoverflow.com/questions/37107391
复制相似问题