首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式获取java jstat -gcutil结果

如何以编程方式获取java jstat -gcutil结果
EN

Stack Overflow用户
提问于 2016-05-09 11:35:44
回答 1查看 424关注 0票数 0

我想从point cut方法获得我正在运行的应用程序的gc活动状态。我需要的信息是年轻一代gc和完整gc分别花费的时间,就像在jstat -gcutil中一样。

我遇到了这个类ManagementFactory.getGarbageCollectorMXBeans,但它是基于收集器的,收集时间既涉及年轻gc,也涉及完整gc。

EN

回答 1

Stack Overflow用户

发布于 2016-05-11 13:32:05

jstat使用的是所谓的JVM性能计数器。它们可以通过编程方式访问。

  • 将tools.jar从JDK添加到类路径
  • 使用sun.misc.Perf类从目标process

访问计数器

不久前,我编写了一些包装了tools.jar中可用API的库,特别是https://github.com/gridkit/jvm-attachperf data example

PS类似的信息可以从MBeans中检索到,年轻和年长的收集者具有不同的MBean,因此您可以分别跟踪他们。此外,MBeans可能会发送关于GC事件的通知。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37107391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档