在C++或Java中有没有办法获得CPU使用率?

rph*_*101 0 c++ java cpu-usage

我想写一个小程序只是为了显示CPU使用率百分比,就像任务管理器一样.我知道中级C++和Java.有没有办法用这两种语言做到这一点?如果是这样,也许是一个简短的例子 我看到了一些C++命令的页面,但我无法做出正面或反面.

我在一台计算机上使用Windows 7,在另一台计算机上使用XP.至于多核响应,我只想像任务管理器那样显示CPU使用百分比,即使使用多核处理器也是如此.

drz*_*ala 5

double sysLoad = ManagementFactory.
                         getOperatingSystemMXBean().
                                 getSystemLoadAverage();
Run Code Online (Sandbox Code Playgroud)
  • 不适用于每个平台,
  • 返回过去一分钟的平均负载

编辑:最近发现了这一个

http://sellmic.com/blog/2011/07/21/hidden-java-7-features-cpu-load-monitoring/

在Java 7中,您可以使用com.sun.management包来获取进程负载或系统负载.

用法:

OperatingSystemMXBean osBean = ManagementFactory
        .getPlatformMXBean(com.sun.management.OperatingSystemMXBean.class);  

// What % CPU load this current JVM is taking, from 0.0-1.0  
System.out.println(osBean.getProcessCpuLoad());  

// What % load the overall system is at, from 0.0-1.0  
System.out.println(osBean.getSystemCpuLoad());  
Run Code Online (Sandbox Code Playgroud)