为什么CPU使用率不总是100%?

时间:2015-01-02 02:48:43

标签: performance time cpu monitoring utilization

我试图了解CPU时间和CPU使用情况。

此处:https://serverfault.com/questions/648704/how-are-cpu-time-and-cpu-usage-the-same

在这里:http://blogs.technet.com/b/winserverperformance/archive/2009/08/06/interpreting-cpu-utilization-for-performance-analysis.aspx

我仍然没有得到它。

说一些具有8个逻辑核心的i7-4核心CPU ...以2Ghz运行。如果你给它提供40亿条指令就可以使用100%的CPU 2秒,如果你输入10亿条指令,它将使用50%的CPU一秒钟......

为什么不能使用100%CPU来获得0.5(一半)秒来更快地处理这10亿条指令?

3 个答案:

答案 0 :(得分:2)

这里要求比喻。

考虑一条生产线:

你有两个人开车。

但要制造一辆汽车,你需要制作X,把它放在Y轴上,然后放下一辆汽车。生产线2可以参与其中。

如果没有涉及第二条生产线,它可能是制造钻头 - 所以要加快速度,而不是自己生产汽车。

总而言之,并非那么简单。

某些计算需要先前的结果。因此,最佳部分是最能并行化的部分。在类比中,发动机可以在轮胎的情况下制造。但最终的组装需要两者。

回答问题并不是那么简单 - 增加额外的处理能力并不意味着最终结果是预期的

答案 1 :(得分:0)

单线程程序(许多程序仍然是)只能完全使用ONE核心,即便如此,只有当它们不停止等待网络I / O,磁盘或任何类型的锁定时。 / p>

答案 2 :(得分:0)

您误解了处理器的工作原理。您还会混淆馈送到CPU的时钟周期和指令周期,这些周期可能需要多于一个CPU时钟周期才能执行。您还认为程序将始终以完全倾斜运行,但某些程序会等待I / O操作完成,与程序无关的内核进程以及有时备份和重新启动操作或跳转到其他程序所需的时间在程序运行过程中,在众多其他必要操作中的位置。

现在我输入了这个,你问题的答案太宽泛了,无法在这里得到解答,你需要做一些研究来了解这一切是如何协同工作的。