我正在使用一些代码来使用 Java 监控 Cpu 负载。我在我的应用程序中使用以下代码来获取系统负载
public static double getCPULoad() {
OperatingSystemMXBean osMBean
= (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
double load = osMBean.getSystemLoadAverage();
return load;
}
但在 Windows 上它返回负值 (-1.0)。有什么办法可以解决这个问题吗?
最佳答案
请阅读this blog .
这不是官方解决方案,但是当使用 com.sun.management.OperatingSystemMXBean
而不是 java.lang.management.OperatingSystemMXBean
时,有两种方法 getSystemCpuLoad()
和 getProcessCpuLoad()
正在工作。
关于java - Windows 的 getSystemLoadAverage() 替代方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26872306/