首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Java代码获得处理器每个核心当前利用率的百分比

如何使用Java代码获得处理器每个核心当前利用率的百分比
EN

Stack Overflow用户
提问于 2013-11-28 09:25:44
回答 2查看 512关注 0票数 1

我有一个情况,我需要得到每个核心的CPU利用率。例如,如果我有一个具有4个核的处理器,那么预期的输出是:

代码语言:javascript
复制
               Core-1          Core-2      Core-3        Core-4
Utilization    31.04           12.89       2.45          10.56 

我尝试使用以下代码:

代码语言:javascript
复制
OperatingSystemMXBean operatingSystemMXBean = ManagementFactory.getOperatingSystemMXBean();
System.out.println(operatingSystemMXBean.getSystemLoadAverage());

上面的代码段有两个问题。首先,在Win7 32位上,输出为-1.0,其次,getSystemLoadAverage()方法的名称给出了它只显示总体cpu利用率的直觉。

请帮助我解决这个问题,如何利用处理器的每个核心。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-28 09:48:29

你可以用SIGAR。他们的网站说:

一个API来访问系统信息,而不管底层平台如何。

我相信这就是你想要的。看看他们的网站:http://www.hyperic.com/products/sigar

JavaSysMon是另一个需要查看的库:https://github.com/jezhumble/javasysmon/wiki

票数 1
EN

Stack Overflow用户

发布于 2013-11-28 09:36:38

您必须编写多线程应用程序。在四核上编写单线程应用程序比在单个核心上编写应用程序要快(理论上)。为了利用CPU内核,您必须为每个核心显式地编写一个进程。

multithreading.htm

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20262150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档