Amazon-Ec2

為什麼ec2監控顯示100% cpu,top只有20%?

  • July 3, 2021

我在一個 ec2 實例上執行一個 python 腳本,該腳本在另一個實例的數據庫中插入行。在 ec2 的監控中,我看到了 100% 的 cpu 使用率,而 top 只顯示了 python 程序的 20%。頂部缺少什麼?網路成本?

在Amazon EC2等虛擬化環境中,暴露的數據top通常不足或具有誤導性,並且報告的百分比取決於您的實例類型和底層處理器核心使用率(通常與虛擬機管理程序提供的虛擬化硬體不匹配),其中其他事情 - 您所看到的很可能是由當今大多數相關 Unix/Linux 監控工具中暴露的相應CPU 竊取時間引起的- 參見例如列 %steal 或 st in或:sar``top

st – 竊取時間

管理程序從該虛擬機“竊取”的 CPU 量用於其他任務(例如執行另一個虛擬機)。

博文EC2 監控:CPU 被盜案例對此主題進行了很好的探索和說明:

當 top 命令顯示 40% CPU 繁忙但 CloudWatch 說伺服器已達到 100% 時,您會選擇哪一邊?答案很簡單(CloudWatch 是正確的,top 不是)

$$ … $$

請注意,這個管理程序指標似乎只能在 Unix/Linux 系統上(很容易)訪問,但在 Windows 上似乎還不能觀察到(還),請參閱我的問題是否有 Windows 相當於 Unix 的“CPU 竊取時間”?有關此問題的更多資訊。

引用自:https://serverfault.com/questions/400533