关于获取windowsNT cpu使用率公式的问题
要做一个类似于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] 作为分子
期待高手解答。