关于获取windowsNT cpu使用率公式的问题

millet1987 2009-07-30 12:50:59
要做一个类似于windows自带的资源管理器的工具,其中一个功能就是计算cpu利用率,在网上看了一些资料,思路大都差不多
(具体的实现方法看这个帖子:http://www.vckbase.com/bbs/prime/viewprime.asp?id=352或者
http://www.codeproject.com/KB/system/processescpuusage.aspx)
都是基于下面这个公式:
---------------------------------------------------------------------*
为了计算Windows NT/2000系统中CPU的使用率,我们使用下面的公式:

CpuUsageInPercent = 100 - (CpuTime[n]-CpuTime[0]) / (SystemTime[n]- SystemTime0) / NumberOfProcessors * 100

这里
CpuTime为CPU的空闲时间(毫秒);
SystemTime为系统时间(毫秒);
NumberOfProcessors为系统中处理器的数量;
0,1,n 表示取样数(0指最老的取样,1 指最近的取样,n 指最新的取样);
-------------------------------------------------------------------------------*
我不理解的是:1、每次取样CPUTime的含义,2、为何要CpuTime[n]-CpuTime[0] 作为分子
期待高手解答。
...全文
168 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinjazz 2009-07-31
  • 打赏
  • 举报
回复
>>速度和位置是不能同时测试准确的
这个论题搞大了吧...
fairchild811 2009-07-30
  • 打赏
  • 举报
回复
在一个区间内的CPU使用率

所谓的测不准原理:速度和位置是不能同时测试准确的
jinjazz 2009-07-30
  • 打赏
  • 举报
回复
这个相当于微分吧,考察使用率只能考察一段时间的而不是一个时间点。

6,873

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧