Top

為什麼 htop 儀表顯示 >90% 而表為 0.0%?

  • December 8, 2015

為什麼螢幕頂部的進度表htop顯示 CPU 使用率始終高於 90%,而下表中的數字顯示 CPU 使用率和平均負載為 0.0% 的幾乎空閒的系統?

部分htop螢幕抓取

htop不知道它在核心級別的虛擬化環境中執行(Dreamhost VPS正在使用VServer技術)。然後它會顯示共享同一核心的所有作業系統實例的 CPU 使用率,而不僅僅是您的。

查看vtop輸出,其中顯示了共享 CPU 的所有程序,而不僅僅是容器中的程序。

如果vtop未安裝,這可能是商業解決方案所期望的,因為人們不希望客戶查看其他客戶正在執行哪些程序,則無法從容器內部解決問題,除非修補top源以計算CPU 使用情況,而不是從核心統計資訊中獲取。

它可以通過匯總 VServer 中執行的所有程序的 CPU 使用率來實現,例如:

ps aux | awk '
   {cpu+=$3; ram+=$6} 
   END {printf("cpu: %d%%, RAM: %.2f MiB\n",cpu,ram/1024) }'

引用自:https://unix.stackexchange.com/questions/31971