回答
從sysstat
包嘗試mpstat
> sudo apt-get install sysstat
Linux 3.0.0-13-generic (ws025) 02/10/2012 _x86_64_ (2 CPU)
03:33:26 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:33:26 PM all 2.39 0.04 0.19 0.34 0.00 0.01 0.00 0.00 97.03
然後一些cut
或grep
解析您需要的信息:
mpstat | grep -A 5 "%idle" | tail -n 1 | awk -F " " '{print 100 - $ 12}'a
我不相信這顯示總的CPU – user1199739 2012-02-10 14:36:20
我會說它100%空閒,這是總CPU使用率(%) – 2012-02-10 14:38:40
這是百分比「不」使用。這個答案是好的,直到grep | tail | awk part ... – jordanm 2012-02-10 14:47:30
看看cat /proc/stat
grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}'
編輯請閱讀評論複製粘貼或使用此對任何嚴肅的工作之前。這沒有經過測試也沒有使用過,對於那些不想安裝實用程序或者在任何發行版中工作的人來說,這是一個想法。有人認爲你可以「安裝」任何東西。
你可以試試:
top -bn1 | grep "Cpu(s)" | \
sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | \
awk '{print 100 - $1"%"}'
每次運行此命令時,我都會得到完全相同的輸出'32.7%')。 – alanaktion 2013-07-18 01:58:03
當我使用'top -bn2'時會給出更準確的結果,但這需要很長時間。從我讀過的內容來看,這似乎是獲得準確結果的唯一方法。 – alanaktion 2013-07-18 02:10:35
'top -bn1'在我的FC20系統上似乎非常不準確。 'top -bn2'似乎運作良好。 – Carpetsmoker 2014-02-19 00:58:49
編輯:我注意到,在其他用戶的回覆%閒置了12場,而不是場11. AWK已經更新到佔%閒段是可變的。
這應該得到你所需要的輸出:
mpstat | awk '$3 ~ /CPU/ { for(i=1;i<=NF;i++) { if ($i ~ /%idle/) field=i } } $3 ~ /all/ { print 100 - $field }'
如果你想要一個簡單的整數舍入,您可以用printf:
mpstat | awk '$3 ~ /CPU/ { for(i=1;i<=NF;i++) { if ($i ~ /%idle/) field=i } } $3 ~ /all/ { printf("%d%%",100 - $field) }'
'mpstat 1 1 | awk'$ 3〜/ CPU/{for(i = 1; i <= NF; i ++){if($ i〜/%idle /)field = i}} $ 3〜/ all/{printf(「%d」, 100 - $ field)}''對我很好,謝謝。注意mpstat 1 1以確保CPU使用率在一秒內被採樣 – chrishiestand 2015-06-07 06:28:48
還不如扔了我的解決方案的實際響應,這是靈感來自彼得Liljenberg的:
$ mpstat | awk '$12 ~ /[0-9.]+/ { print 100 - $12"%" }'
0.75%
這將使用awk
打印出100減去第12個字段(空閒),後面有一個百分號。 awk
只會對第12行只有數字和點的行($12 ~ /[0-9]+/
)執行此操作。
運行「mpstat 2 1 | ...」更好,以便它顯示最近1秒的統計數據。否則,默認情況下,mpstat自開始就顯示統計信息,並且隨着時間的推移不會有太大變化 – Sarang 2013-07-19 19:56:30
「mpstat | awk'$ 12〜/[0-9.]+/ {print 100 - $ 11」%「}'」我。 – AloneInTheDark 2014-02-26 09:05:48
@Sarang非常感謝你!最後,我可以得到'conky'顯示的結果。不幸的是,這條線很慢,幾乎需要一秒鐘才能執行。 – syntaxerror 2014-09-15 01:35:42
- 1. 如何獲得Qt的CPU使用率
- 2. 如何獲得Linux中的總CPU使用率(C++)
- 3. 如何在jsp上獲得CPU使用率
- 4. 在(linux)中獲得apache總CPU使用率
- 5. 如何在Windows IIS 8.5上使用PHP獲得CPU使用率? (2012 R2)
- 6. 如何獲得每個線程的CPU使用率在Mac OSX
- 7. 整體CPU使用率和在Linux的百分比內存(RAM)使用/ Ubuntu的
- 8. PHP在linux服務器上獲得每個核心的CPU使用率
- 9. 如何在Linux中獲取特定進程的CPU利用率
- 10. 如何獲取CPU使用率?
- 11. 如何獲得超過2個核心的CPU使用率?
- 12. 如何獲得C中的CPU使用率?
- 13. 如何獲得iPhone/iPad的CPU使用率?
- 14. 如何獲得CPU和內存使用率
- 15. 如何獲取Linux上的CPU溫度
- 16. 在linux內核空間獲得最大支持的CPU頻率
- 17. 如何使用C++在WMI中獲取CPU使用率?
- 18. 如何獲得akka actor的CPU利用率
- 19. 如何在系統運行時獲得真正的CPU頻率?
- 20. 在Linux服務器上認爲CPU使用率有多高
- 21. 如何限制Linux上的進程內存使用率(例如,使用BSD :: Resource)
- 22. 如何在C++(Linux)中獲得CPU時鐘速度?
- 23. 使用來自C的系統調用,如何獲得CPU的利用率?
- 24. 無法獲得在C#中使用的PerformanceCounter CPU佔用率 - System.FormatException
- 25. 如何在Flash中獲取CPU使用率?
- 26. 如何獲得CPU溫度?
- 27. 如何在Windows上看不到內存/ CPU使用率?
- 28. 如何在Linux中使用C獲取物理CPU的數量?
- 29. 如何最大化WebJob CPU使用率
- 30. 如何降低CruiseControl.NET的CPU使用率?
top命令是不夠的? – JuSchz 2012-02-10 14:31:31
@julesanchez該值需要在其他地方傳送,因此它必須是int – user1199739 2012-02-10 14:34:06
做頂部> myfile.txt並在後處理中應用您的過濾器,不好嗎? – JuSchz 2012-02-10 14:35:56