6

我正在使用一些代码来监视使用 Java 的 Cpu 负载。我在我的应用程序中使用以下代码来获取系统负载

public static double getCPULoad() {
    OperatingSystemMXBean osMBean
                = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();

    double load = osMBean.getSystemLoadAverage();
    return load;
}

但在 Windows 上,它返回一个负值(-1.0)。有什么办法可以解决这个问题吗?

4

1 回答 1

3

请阅读此博客。这不是官方解决方案,但是当使用com.sun.management.OperatingSystemMXBean而不是java.lang.management.OperatingSystemMXBean有两种方法时getSystemCpuLoad()getProcessCpuLoad()它们正在起作用。

于 2015-02-26T19:23:32.733 回答