簡體   English   中英

從 linux 中的 top 命令計算 CPU 使用率

[英]Calculate CPU usage from top command in linux

我必須在我的應用程序上顯示 CPU 使用率並實時更新它。 我正在使用 top 命令來獲取 CPU 使用率,即最高命令

我添加兩個突出顯示的值以獲取 CPU 使用率。 我用來添加突出顯示的值並獲取最終 CPU 使用率的命令是:

top -b -n 2 | grep Cpu | awk '{printf "CPU Load:%.2f\n", $(NF-13) + $(NF-15)}' | sed -n '2 p'

問題是,這個命令在某個時間后停止工作,即 3-4 分鍾我確實得到了 CPU 使用率,但是在那個命令沒有處理之后我沒有得到更新的值。 我正在循環運行此命令。

任何幫助將非常感激。

我使用類似的腳本已經有一段時間沒有問題了:

top -bn2 | grep Cpu | tail -n1 | sed -e 's/.*, *\([0-9.]*\)%* id.*/\1/' | awk '{print 100-$1}'

該腳本從頂部 output 中獲取“空閑”時間,並將其從 100% 中扣除以獲得 CPU 使用率。

您調用腳本的循環周期不應快於腳本完成所需的時間。 否則,您可能會得到多個 'top' 並行運行。 這主要取決於您系統上的“頂部”默認延遲,在我的系統上,它大約是 5 秒,但您可以使用 -d 開關進行設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM