Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用MBean获取java进程的总CPU时间_Java_Profiling_Mbeans - Fatal编程技术网

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

如何使用MBean获取java进程的总CPU时间,java,profiling,mbeans,Java,Profiling,Mbeans,我正在寻找一个跨平台/供应商的解决方案,以获得迄今为止(不是现在)使用MBean的java进程使用的总CPU时间。我确实偶然发现了一些使用com.sun.management.OperatingSystemMXBean::getProcessCpuTime()的建议。我有几个问题 Oracle强烈反对在com.sun包中使用类 这仅适用于供应商Oracle 这在Windows上不起作用 另一个建议的解决方案是ThreadMXBean为所有活动线程添加CPU时间。然而,这只会给我实时线程的CPU使

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

  • Oracle强烈反对在
    com.sun
    包中使用类
  • 这仅适用于供应商Oracle
  • 这在Windows上不起作用

  • 另一个建议的解决方案是
    ThreadMXBean
    为所有活动线程添加CPU时间。然而,这只会给我实时线程的CPU使用时间。如果在两次计算CPU时间的调用之间创建和销毁了线程,我会看到错误的数字,因为这种方法会捕获不再活动的线程的CPU使用情况。

    它在哪里说它在Windows上不工作?