sar
とiowait
私たちはCPU時間の使用率を得ることができます。しかし、これら2つのコマンドを実行すると、出力に大きな違いがわかります。
> iostat && sar 1 1
Linux 2.6.32-042stab090.4 (LinuxBox) 08/14/2014 _x86_64_ (16 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.46 0.00 0.52 0.07 0.00 98.95
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 10.53 760.66 44.67 3464410204 203460004
sdb 2.49 368.15 779.18 1676748162 3548769968
sdc 4.09 192.81 10.71 878170395 48792907
Linux 2.6.32-042stab090.4 (LinuxBox) 08/14/2014 _x86_64_ (16 CPU)
10:35:21 AM CPU %user %nice %system %iowait %steal %idle
10:35:22 AM all 0.00 0.00 0.06 0.00 0.00 99.94
Average: all 0.00 0.00 0.06 0.00 0.00 99.94
どの出力がより安定しているかを判断するのが困難です。どのコマンドがより正確であると見なされるべきですか?
答え1
iostatを実行していますが、間隔はありません。したがって、開始後に統計を報告します。
そしてsarの場合は1間隔を言及しました。これは、sarレポートでは最後の1秒が報告されることを意味します。
両方とも、これらの値のすべてがカウンターとして保存されるレポートを取得するために使用されます/proc/
(時々増加します)。マニュアルページ(マンページの最後までスクロール)で、これらのレポートで使用されるファイルシステムの詳細を読むことができます。私のポイントがわからない場合は、カウンターについてもお読みください。
次に、任意の2つの時点で値を取得し、その2つの時点の値間の差を計算してレポートを取得します。したがって、間隔を指定しないと、時点(つまりコマンドを実行する時間)は1つだけなので、開始時間を別の時点として扱います。これが開始時間以降の平均を求める理由です。