CPU使用率的计算【总结】

【所谓“总结”,就是结合自身经验与他人的结论,进行汇总,略减,与分析】

【有些他人顶好的总结,可以直接取过来,好比有些孩子,开卷考试的时候,自己的会的就抄答案,不会的反而不】

写在前面


项目中,老大说,一定要将CPU使用率降下来。乍一想,肯定是关键代码算法不够优化,导致大量CPU计算,难以释放出资源。打开任务管理器,又想,这里动态显示的CPU使用率如何计算的呢?这个问题一问出来,便展开了小思路:先研究下计算方式,再分析下代码中可能导致的因素。(没什么高深的,作为一个小结而已,祭奠一下自己的想当然)


【http://www.blogjava.net/fjzag/articles/317774.html】说:

1. WindowsCPU使用率的定义

a)         CPU使用率:在任务管理器的刷新周期内CPU忙的时间与整个刷新周期的比值。

b)         任务管理器默认的刷新周期是1s

2. CPU使用率计算公式

根据CPU使用率的定义我们可以得出在某一段时间内总的CPU使用率的计算公式:

sysTime:表示该时间段内总的CPU时间=CPU处于用户态和内核态CPU时间的总和,即sysTime =kerneTimel + userTime(注:这里并不包括idleTime,因为当CPU处于空闲状态时,实在内核模式下运行System Idle Process这个进程,所以kernelTime实际上已经包含了idleTime

idleTime:表示在该时间段内CPU处于空闲状态的时间;

CPU% = 1 – idleTime / sysTime * 100      


其中,他的分析,也可能让你知道一些什么。


【http://www.blogjava.net/fjzag/articles/317773.html】也说了不少,可以一阅。


至于我,空手套了白狼而已。学习为主,方法first!



你可能感兴趣的:(windows,算法,优化,System,任务)