我想編寫一個bash腳本,將當前CPU利用率寫入文件「logfile」。我使用英特爾®酷睿™i7-4500U CPU @ 1.80GHz×4和Ubuntu 15.10。Bash腳本:將CPU利用率寫入文件(Ubuntu)
我已經在這個論壇上看到過類似的問題,但並不是所有的問題都被回答爲100%。通過我的研究,我想出了兩種實現我的目標的可能方式。第一個是
mpstat | grep "all" | awk '{ print $3 + $5; }' >> logfile
(添加用戶CPU和系統CPU)和我的第二候選是
mpstat | grep "all" | awk '{ print 100 - $12; }' >> logfile
(100 - %空閒的CPU)。如果我對CPU的總利用率感興趣(因此應該包括以某種形式計算爲CPU的所有組件),那麼這兩者中哪一個對我來說是正確的。
另一個問題:通過什麼我已經通過閱讀其他線程瞭解到,我想我的第二個候選
mpstat | grep "all" | awk '{ print 100 - $12; }' >> logfile
應該是相當準確的。但是,當我打開「系統監視器」並監視「CPU歷史記錄」時,我觀察到顯着不同的CPU利用率。另一件事是系統監視器中的值非常動態(CPU在4%和18%之間變化),而在同一時期,第二個命令的結果幾乎保持不變。有人有解釋嗎?
非常感謝所有評論!
您是否看到系統監視器的利用率顯着高於此腳本**在同一時間**返回的數量?或者可能是額外的CPU使用率僅僅是系統監視器使用更多的CPU來生成GUI並繪製使用圖? –
是的,我打開了系統監視器,在執行此操作時,我幾次將第二個命令打入終端。我剛剛觀察到,這些值也可以(顯着)較低。另一件事是系統監視器中的值非常動態(CPU在4%和18%之間變化),而在同一時期,第二個命令的結果幾乎保持不變 - 我在帖子中編輯了這個值。 – BJPrim
我建議安裝[GNU會計實用程序](https://apps.ubuntu.com/cat/applications/precise/acct/)。 –