如何计算CPU使用率?

时间:2009-05-01 06:12:13

标签: windows cpu-usage

Windows任务管理器以百分比显示CPU使用率。这背后的公式是什么?是这样的:

  

进程A的CPU使用率%=(总和)   所有时间片给A到现在)/   自机器启动以来的总时间

还是别的什么?

4 个答案:

答案 0 :(得分:8)

我不是100%确定使用的是什么,但我认为你的CPU计算有点不对。

我相信他们正在做类似的事情。

Process A CPU Usage = (Cycles for A over last X seconds)/(Total cycles for last X seconds)

我认为它与任务管理器中设置的“更新间隔”有关。

虽然我为您做了一些研究,但我发现this MSDN文章显示了微软建议的计算一组指令的CPU时间的方法,这也可能会指向您的计算。< / p>

答案 1 :(得分:6)

不,它不是“自启动时间” - 它比时间敏感得多。

这是“自上次刷新以来CPU在该进程中主动运行线程的时间比例”。 (刷新率通常约为一秒。)在任务管理器中我相信它除以CPU的数量,因此总数最终为100%(即在双核机器上,单线程CPU猪将显示为50%)。其他类似的程序有时不这样做,总共提供100%*核心。

答案 2 :(得分:1)

您可能还想检查this article,因为调度的CPU周期处理方式已作为Vista的一部分进行了更改。我认为这也适用于Win7。

答案 3 :(得分:-1)

请参阅任务管理器的源代码