top -bn1 は正しい CPU 使用量を提供しません。

top -bn1 は正しい CPU 使用量を提供しません。

CPU使用量がほぼ100%であることがわかっているノードにログインしています(それぞれ約100%CPUを使用する20の単一プロセスタスク)。インタラクティブに使用したとき、top最初の繰り返しでは約20%の使用量を得ni、次の繰り返しと正しく使用した後のすべての繰り返しでは95%以上のni使用量を得ました。topviaの出力をパイプしたいのですが、top -bn1 > outfile最初の繰り返しtop -bn1(唯一の繰り返し)でCPU使用率が正しくありません。使用すると、top -bn22回目の反復では正しい使用法が得られますが、出力が多すぎます。

top -bn1CPU使用量を正しく提供するにはどうすればよいですか?私は使用統計のためにこのスクリプトを書いているので、必要に応じて戻ってプロセスを独立してプロファイリングして独自のCPU使用率を生成することができますが、topすぐに正しい使用法を提供できると思います。

編集:mpdstat -P ALL私に同じで間違った初期使用統計を提供しました。それを調べるのも良いでしょう。使用できますが、mpstat -P ALL 1 1これにより出力が2回生成されます。

答え1

最初の反復の出力を削除するだけです。

top -bn2 | awk '/^top -/ { p=!p } { if (!p) print }'

答え2

一部のツールは、計算された平均を最初に表示します。他のツールの最初のサンプルは不完全です。全体的に望ましい結果を得るために、最初のサンプルをスキップすることをお勧めします。

関連情報