我正在寻找一个跨平台/供应商解决方案,以便使用MBean获得迄今为止(目前不是)的Java进程使用的总CPU时间。我偶然发现了一些使用com.sun.management.OperatingSystemMXBean::getProcessCpuTime()
的建议。我有几个问题。
com.sun
package 另一个建议的解决方案是ThreadMXBean
为所有活动线程添加CPU时间。但是,这将仅为实时线程提供CPU使用时间。如果在计算CPU时间的两次调用之间创建并销毁了线程,我会查看错误的数字,因为这种方法会捕获不再存在的线程的CPU使用率。