如何使用MBean获取Java进程的总CPU时间

时间:2015-12-08 17:40:07

标签: java profiling mbeans

我正在寻找一个跨平台/供应商解决方案,以便使用MBean获得迄今为止(目前不是)的Java进程使用的总CPU时间。我偶然发现了一些使用com.sun.management.OperatingSystemMXBean::getProcessCpuTime()的建议。我有几个问题。

  1. Oracle强烈建议不要在com.sun package
  2. 中使用类
  3. 这仅适用于供应商Oracle。
  4. 这不适用于Windows
  5. 另一个建议的解决方案是ThreadMXBean为所有活动线程添加CPU时间。但是,这将仅为实时线程提供CPU使用时间。如果在计算CPU时间的两次调用之间创建并销毁了线程,我会查看错误的数字,因为这种方法会捕获不再存在的线程的CPU使用率。

0 个答案:

没有答案