我正在嘗試計算使用bash的單個CPU,Ubuntu系統的整體CPU利用率。我需要一個系統監視腳本的整體CPU使用率百分比。問題是,當我使用下面的代碼的CPU利用率百分比始終是相同的:如何有效使用bash來計算CPU利用率?
top -n 1 | grep "Cpu"
我發現另一種方法是使用下面的代碼:
read cpu a b c previdle rest < /proc/stat
prevtotal=$((a+b+c+previdle))
sleep 0.5
read cpu a b c idle rest < /proc/stat
total=$((a+b+c+idle))
CPU=$((100*((total-prevtotal) - (idle-previdle))/(total-prevtotal)))
echo $CPU
的問題與此代碼我不知道它是否完全準確。我有幾個問題......首先爲什麼第一個代碼失敗?其次,第二個代碼是否可靠?如果不是,我可以使用哪些代碼來獲得系統總體CPU利用率的可靠讀取?謝謝!
我不知道我是否做錯了什麼,但是當我這樣做的時候:'雖然是真的;做; mpstat的;完成;'即使我正在運行多個進程,我也始終獲得相同的CPU利用率值。 – Lynx
好吧,現在我發現如果你用任何參數運行mpstat命令,輸出是無稽之談......它必須像這樣使用'mpstat 1 1' – Lynx