c++ 计算cpu占用率
来源:互联网 发布:查看php源码 编辑:程序博客网 时间:2024/06/05 02:22
计算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
对指定进程的CPU占用率 依旧是计算CPU空闲时间比
获取事件的办法可以使用 wmi 查询
或者调用API
// 获取指定进程时间
hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, ProcInfo.th32ProcessID);
GetProcessTimes(hProcess, &creationTime, &exitTime, &kernelTime, &userTime))
运行效果
0 0
- CPU占用率计算原理
- c++ 计算cpu占用率
- Linux 计算进程CPU占用率
- Linux 计算线程CPU占用率
- CPU占用率计算算法(转)
- 如何计算当前进程的CPU占用率
- 用/proc/stat计算cpu的占用率
- windows平台进程CPU占用率的计算
- 用/proc/stat计算cpu的占用率
- windows平台进程CPU占用率的计算
- windows平台进程CPU占用率的计算
- 用/proc/stat计算cpu的占用率
- 用/proc/stat计算cpu的占用率
- WINCE CPU内存的占用率计算
- 用C语言获得CPU的占用率
- /*用C语言获得CPU的占用率*/
- CPU占用率
- CPU 占用率
- scrollWidth,clientWidth,offsetWidth的区别
- 学习笔记之js中导出表格到excel详解+源码
- photoshop第十二章:制作唯美效果
- MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
- java.lang.IllegalArgumentException: No view found for id
- c++ 计算cpu占用率
- android点击Back键不退出程序,在后台运行
- 第一行代码(第二版)之定制自己的日志控制工具
- webpack+react+es2015轻松环境搭建,配置,运行项目
- android 5.0预制APK方法,android5.0预制apk
- Android WebView 简单使用
- echarts动态加载折线图数据demo
- IOS NetworkExtension 框架使用笔记
- NodeJs+Egret制作socket在线五子棋游戏(2)