为什么“top”命令显示CPU使用率为799%?

为什么“top”命令显示CPU使用率为799%?

我在 4 核 Ubuntu 服务器中运行一个进程。但是top命令显示CPU使用率一直是799%。

这怎么可能?我知道对于多核 CPU,预计 CPU 使用率会超过 100%,但 799% 是一个非常高的值。

谁能向我解释为什么以及何时会发生这种情况?

根据 Gregory MOUSSAT 的建议,使用htop,我得到了以下输出:

htop 截图

答案1

当一个核心完全使用时,使用的比例top是 100%。或者当一个核心为 20%,另一个核心为 80% 时。这会导致多核计算机上出现奇怪的结果,因为它很容易超过 100%。

如果您有 8 个核心,则top可以显示从 0%(空闲系统)到 800%(满功率)的 CPU 使用率。

您的程序只是以最大容量使用 4 个超线程核心(即 8 个虚拟核心)。因此,top您几乎可以获得 8 x 100% = 800% 的利用率。

要更改此计算 CPU 使用率的方式(这叫做 Irix 模式),按大写字母“i”:Shift+i

您无法明确告诉 JVM 使用单个线程,它将使用多个线程来完成其工作,即使您的应用程序中只使用单个线程。

您可以使用htop实用程序是更好的top选择。您将看到您的程序使用了全部 8 个核心。

相关内容