CPU使用量がほぼ100%であることがわかっているノードにログインしています(それぞれ約100%CPUを使用する20の単一プロセスタスク)。インタラクティブに使用したとき、top
最初の繰り返しでは約20%の使用量を得ni
、次の繰り返しと正しく使用した後のすべての繰り返しでは95%以上のni
使用量を得ました。top
viaの出力をパイプしたいのですが、top -bn1 > outfile
最初の繰り返しtop -bn1
(唯一の繰り返し)でCPU使用率が正しくありません。使用すると、top -bn2
2回目の反復では正しい使用法が得られますが、出力が多すぎます。
top -bn1
CPU使用量を正しく提供するにはどうすればよいですか?私は使用統計のためにこのスクリプトを書いているので、必要に応じて戻ってプロセスを独立してプロファイリングして独自のCPU使用率を生成することができますが、top
すぐに正しい使用法を提供できると思います。
編集:mpdstat -P ALL
私に同じで間違った初期使用統計を提供しました。それを調べるのも良いでしょう。使用できますが、mpstat -P ALL 1 1
これにより出力が2回生成されます。
答え1
最初の反復の出力を削除するだけです。
top -bn2 | awk '/^top -/ { p=!p } { if (!p) print }'
答え2
一部のツールは、計算された平均を最初に表示します。他のツールの最初のサンプルは不完全です。全体的に望ましい結果を得るために、最初のサンプルをスキップすることをお勧めします。