我遇到一种情况,我需要获取每个 CPU 核心的利用率。例如。如果我有一个 4 核处理器,那么预期输出是:
Core-1 Core-2 Core-3 Core-4
Utilization 31.04 12.89 2.45 10.56
我尝试使用以下代码:
OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();
System.out.println(operatingSystemMXBean.getSystemLoadAverage());
上面的代码段有两个问题。首先,在 Win7 32 位上,输出为 -1.0,其次,从方法名称 getSystemLoadAverage()
可以看出,它只显示总体 CPU 利用率。
请帮我解决这个问题,如何获取处理器每个核心的利用率。
谢谢
最佳答案
您可以使用 SIGAR。他们的网站说:
通过一个 API 即可访问系统信息,无论底层平台如何
我相信这就是你想要的。看看他们的网站:http://www.hyperic.com/products/sigar
JavaSysMon 是另一个值得关注的库:https://github.com/jezhumble/javasysmon/wiki
关于java - 如何使用 Java 代码获取处理器每个核心的当前利用率百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262150/