為什麼linux「top」指令在只有一個CPU的情況下顯示不同的CPU利用率值?

為什麼linux「top」指令在只有一個CPU的情況下顯示不同的CPU利用率值?

為什麼對於只有一個 CPU 的 Linux 伺服器,「top」指令會顯示兩個不同的值。據我所知,當存在多核心處理器時,情況可能會有所不同,但在本例中,我使用的是只有一個 CPU 的 AWS LightSail $5 實例512 MB RAM, 1 vCPU, 20 GB SSD

在此輸入影像描述

在 Amazon 控制台中,它顯示 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

在亞馬遜 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/

相關內容