当我们在Windows或Linux的top中使用_task_manager_时,我们可以看到cpu的使用率通常不是很高。此外,开发人员也在尽最大努力降低这一目标。实际上,如果CPU使用率很高,我们认为那里出了问题。
但是我从大多数OS教科书中了解到,我们希望充分利用CPU,而不是浪费CPU资源。但是实际上大多数时候,我们的CPU都处于空闲状态。
这让我很困惑。为什么我们有这个矛盾?有人可以请问一下吗?
这实际上不是矛盾。想想自己的一天。您具有完成工作的巨大能力,有时没有足够的时间完成所有工作,因为您有太多同时执行的任务或截止日期...然后,在其他日子里您一无所获。
以非常相似的方式,我们的计算机实际上倾向于花费大量时间等待我们。即便如此,作为程序员,我们不仅要使代码保持最佳状态,以便使其能够快速执行并尽可能快地产生结果,而且还要优化系统资源。这样,如果这是一个“忙碌的一天”,我们试图避免导致系统内的“争用”(对相同硬件资源的同时需求)。
有关通过这种有趣情况实现的技术的示例,请看一下现代虚拟化产品。我们可以在仅具有4或8 GB RAM的双核或四核处理器上同时运行10或20个虚拟机的原因是,所有这些系统都没有尝试同时使用大量内存和处理器时间。(当然,您必须拥有强大的硬件,或者明智地选择将哪些系统虚拟化在同一主机中,否则将产生争用问题!)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句