码迷,mamicode.com
首页 > 编程语言 > 详细

c++ 计算cpu占用率

时间:2015-01-24 15:41:24      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

计算CPU占用率就是获取系统总的内核时间 用户时间及空闲时间

其中空闲时间就是内核空转 所以内核时间包含空闲时间

然后计算

运行时间 = 内核时间 加 用户时间 减去 空闲时间

间隔时间 =  内核时间 加 用户时间

cpu使用率% = 运行时间 / 间隔时间 ;

无论单个进程cpu占用率还是系统整个cpu占用路 都是如此原理

核心代码就是如下几段

BOOL res = GetSystemTimes( &preidleTime, &prekernelTime, &preuserTime);
//间隔一段时间 例如间隔1秒后
BOOL res = GetSystemTimes( &idleTime, &kernelTime, &userTime );
// 计算数据间隔

LONGLONG idle =  (idleTime - preidleTime);
LONGLONG kernel = (kernelTime - prekernelTime);
LONGLONG user = ( userTime - preuserTime);
int cpu = ((kernel - idle +user)*100) /(kernel+user) ;

技术分享

代码见 http://www.oschina.net/code/snippet_614253_45586 

c++ 计算cpu占用率

标签:

原文地址:http://www.cnblogs.com/itdef/p/4245863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!