首页 > 代码库 > c++ 计算cpu占用率
c++ 计算cpu占用率
计算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占用率
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。