2009-05-01 237 views
3

Windows任务管理器以百分比显示CPU使用率。这背后有什么公式?它是这样的:过程A =CPU使用情况如何计算?

%的CPU使用率(的 总和所有的时间片给一直到现在)/ 总时间,因为机器启动

或者是别的什么?

回答

8

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

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

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

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

在为您做了一点研究的同时,虽然发现了this MSDN文章,它显示了计算一组指令的CPU时间的微软推荐方法,但这也可能指向您的计算。

6

不,它不是“自引导时间以来” - 它比这更具时间敏感性。

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

+0

当然!你有和我一样的东西......但正常情况下,你打败了我。你一直在这里? – 2009-05-01 06:19:49

1

您可能还想检查this article,因为处理方面的CPU周期与Vista的一部分一样被更改。我认为这也适用于Win7。

-1

查看任务管理器的源代码

相关问题