【发布时间】:2011-04-14 11:18:21
【问题描述】:
在我的桌面上,我有一个小部件可以告诉我当前的 CPU 使用率。它还显示了我的两个核心中的每一个的使用情况。
我一直想知道,CPU 是如何计算其使用了多少处理能力的?此外,如果 CPU 在执行一些密集计算时挂起,它(或处理此活动的任何东西)如何检查使用情况而不会挂起?
【问题讨论】:
-
你问的是CPU的电源管理,比如CPU检测它是否耗电和发热?例如,Skylake 在芯片上有一个微控制器来进行电源管理(与 CPU 内核分开),输入来自温度/功率传感器和一些工作负载信息。 (例如,当运行具有大量缓存/TLB 未命中的代码时,它甚至会降频,即使在操作系统方面它正在使用 100% 的 CPU)...
-
... 这回答了第 2 部分,与第 1 部分(操作系统级负载平均)无关。有关链接,请参阅Why does this delay-loop start to run faster after several iterations with no sleep?。您问的是 CPU 如何检查 它自己的 使用情况,而不是操作系统跟踪 CPU 使用情况。也许这不是你的意思,但这就是对问题的解释的答案:P
标签: algorithm performance cpu cpu-usage cpu-architecture