为什么 linux“top”命令只有一个 CPU 却显示不同的 CPU 利用率值?

为什么 linux“top”命令只有一个 CPU 却显示不同的 CPU 利用率值?

为什么“top”命令会为只有一个 CPU 的 Linux 服务器显示两个不同的值。我知道当有多核处理器时可能会有所不同,但在这种情况下,我使用的是只有一个 CPU 的 AWS LightSail $5 实例512 MB RAM, 1 vCPU, 20 GB SSD

在此处输入图片描述

在亚马逊控制台中,显示 CPU 使用率未超过 10%,但应用程序已关闭。当我查看使用率时,我看到使用率接近 100%。

为什么会发生这种情况?我应该考虑哪个值来测量我的虚拟机利用率百分比?

答案1

在 %Cpu(s) 行中顶部将 CPU 使用率分为以下几类:

       us, user    : time running un-niced user processes
       sy, system  : time running kernel processes
       ni, nice    : time running niced user processes
       id, idle    : time spent in the kernel idle handler
       wa, IO-wait : time waiting for I/O completion
       hi : time spent servicing hardware interrupts
       si : time spent servicing software interrupts
       st : time stolen from this vm by the hypervisor

您使用的 CPU 由所有这些值相加而成。这意味着在这种情况下:

7.3 + 0.0 + 0.0 + 4.3 + 0.0 + 0.0 + 88.3 =99,9

在 Amazon LightSail 中,正如另一个答案所述“LightSail 不会让你一直使用 vCPU 的全部功能,因此它已经受到限制。”

在我看来,这真的不是那么明显,应该有一个总的 CPU 值顶部但遗憾的是,没有。

您可以使用另一个名为“htop”的程序(将其安装在服务器上),它显示的信息更加舒适,例如每个核心的总 CPU 使用率。

它看起来像这样:

在此处输入图片描述

答案2

如果您查看屏幕截图中第三行的末尾,您会发现 88.3% 的 CPU 时间被主机“窃取”。这可能是由于您的应用程序在短时间内使用了大量 CPU 时间。LightSail 不会让您一直使用 vCPU 的所有功能,因此它已受到限制。您的应用程序使用了剩余资源的 94.4%。

顶级解释来源:https://linuxaria.com/howto/understanding-the-top-command-on-li LightSail 资源使用情况来源:https://aws.amazon.com/lightsail/faq/

相关内容