0
特定のユーザーに対してtopコマンドを実行するCPU使用率の数値を取得するにはどうすればよいですか? awk
にトップからCPU使用率を取得する方法は?
特定のユーザーに対してtopコマンドを実行するCPU使用率の数値を取得するにはどうすればよいですか? awk
にトップからCPU使用率を取得する方法は?
パイプtop
とCPU使用率カラム加算:awk
コマンドが行7より大きい行(上から)は、」言うこと
top -b -n 1 -u username | awk 'NR>7 { sum += $9; } END { print sum; }'
を、フィールド9 $9
に番号を追加し、それを格納します変数sum
にあります。パイプされたtop
コマンドのすべての行が終了したら、変数sum
"の値を出力します。
-u
フラグがシステム上で動作していない場合は、あなただけのNR>7
状態で、ユーザ名検索を固執することができます:あなたが使用パーセントを印刷したい場合は
top -b -n 1 | awk 'NR>7 && $2=="root" { sum += $9 } END { print sum }'
各ユーザーが一番上にリストされていれば、その2番目の条件とスイッチ合計を配列にすることができます。
top -b -n 1 | awk 'NR>7 {users[$2]+=($9)} END {for(user in users){print user,users[user]}}'
最後の1つです。 %cpuはシステムのコア数で割る必要があると私は信じています。私は100ポンド以上の数字をここで見ることができると信じています。
ありがとうございました!行7(なぜなら)が行7よりも大きい理由は? – kellyS723
パイプなしで 'top'コマンドを実行してください。行8で開始されるプロセスのリストが表示されます。そこで、使用されているCPUの量を8行目から開始して最後まで追加します。 – JNevill
私は未知の議論uを得ているので、ユーザがユーザ名と等しい場合にsumに加算することができるかどうか疑問に思っています。どうすればいい? – kellyS723