CPU 速度步进如何影响(例如) htop 中报告的 CPU 使用率百分比?

CPU 速度步进如何影响(例如) htop 中报告的 CPU 使用率百分比?

CPU 速度步进如何影响(例如)htop 中报告的 CPU 使用率百分比?普通的 top 又如何呢?

因此,如果我的 CPU 降速至 800mhz 并以 2ghz 的全速运行,那么 5% 的使用率是否意味着 CPU 运行了 0.05 * 800 = 4000 万个使用周期,还是 0.05 * 2000 = 1 亿个使用周期?

答案1

我很难找到方法差异的合理解释,但这是我所看到的:

Linux,使用htop,CPU利用率百分比是相对于当前时钟速度。当您的 CPU 完全降速时,如果您将接近空闲的后台进程与可能在 10 秒后运行并导致 CPU 加速的更“活跃”的进程进行比较,它们可能看起来比实际要繁忙得多。

这里有一个非常好的答案(https://unix.stackexchange.com/a/58541/9854) 解释了其工作原理 - 基本上,系统会跟踪“时钟滴答”,而 htop 会在给定的时间范围内通过查看您的(瞬时/当时)时钟速度将其转换为百分比。这种方法似乎有时会产生超过 100% 的数字,但我想他们必须对其进行规范化/限制。

这确实不是似乎是任务管理器视窗报告 CPU 利用率 - 它似乎关注相对于 CPU 某些“标准” 100% 容量的使用情况(不确定在超频和涡轮增压的世界中他们如何确定 100% 是多少)。

这种差异的一个例子是,在完全相同的情况下,当我的 CPU 病态地降到 200MHz 而不是正常的 900MHz 空闲和 3600Mhz 繁忙时,linux htop 报告“CPU 容量达到最大值,恐慌”,而 Windows 会说“嘿,一切都很酷,CPU 完全没有得到充分利用”,即使没有足够的 CPU 吞吐量来跟踪鼠标光标......

在这两个地方,如果你知道自己在做什么,你就可以“理解”这些情况:

  • 在 Windows (10) 中,打开“更多详细信息”,您可以切换到“性能”选项卡的“CPU”部分,查看当前 CPU 频率
  • 在 Linux 中htop,使用 进行设置F2,然后在“显示选项”下选中“同时显示 CPU 频率”框。这样会将利用率数字置于上下文中。

答案2

步进无关紧要。5% 表示 CPU 核心在 5% 的时间内正在做有用的工作。

不要用这种方式将速度乘以分数。这样做得到的数字基本上毫无意义。你得到的“40Mhz”是一个毫无意义的数字——40MHz 时什么也没有发生。

相关内容