Linux
如何在 bash 中獲取過去 10 秒的平均 CPU 使用率?
我需要一個命令來
echo
計算 Ubuntu 18 中過去 10 秒的平均 CPU 使用率。必須滿足以下每個條件:
- 它必須是輕量級的,佔用空間非常小,執行後台腳本不斷寫入文件系統是不行的。
- 該值必須自動考慮核心數(我不知道之前的核心數)。
- 該值必須是介於 0 和 1 之間的數字。不應有任何其他輸出,因為它將由腳本而非人類讀取。或者建議一種強大的算法來解析建議命令的輸出,無論它是什麼。
sudo
要求很好,但腳本必須能夠通過 SSH 作為命令執行,並且它必須具有正確的程序返回行為(0
成功的退出程式碼)。內置命令和功能是首選,但其他軟體也可以,只要它在官方儲存庫中可用。
該
sysstat
軟體包提供sar
了一個系統活動數據收集器。sar -u ALL 10 1
發布命令啟動後接下來10 秒的平均cpu 統計資訊。輸出就像
Linux 5(...) 11/05/21 _x86_64_ (1 CPU) 17:22:35 CPU %user %nice %system %iowait %steal %idle 17:22:36 all 8.85 20.75 2.46 0.00 0.00 67.94 Average: all 8.85 20.75 2.46 0.00 0.00 67.94