iostat:待機とsvctm


16

iostatマンページで、次の2つの類似した列を見つけました。

await
    The average time (in milliseconds) for I/O requests issued to the device to be  served.  This
    includes the time spent by the requests in queue and the time spent servicing them.

svctm
    The  average  service time (in milliseconds) for I/O requests that were issued to the device.
    Warning! Do not trust this field any more.  This field will be removed in  a  future  sysstat
    version.

これらの列は同じものを表すためのものですか?私は時々彼らが同意するようですが、時にはそうではないようです:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           4.44    0.02    1.00    0.36    0.00   94.19

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.07     0.96    0.28    1.28     8.98    47.45    72.13     0.02   11.36   11.49   11.34   5.71   0.89

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           8.00    0.00    2.50    2.50    0.00   87.00

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     9.00    2.00    6.00    12.00    68.00    20.00     0.05    6.00    2.00    7.33   6.00   4.80

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           4.57    0.00    0.51    0.00    0.00   94.92

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          13.93    0.00    1.99    1.49    0.00   82.59

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00    29.00    0.00    4.00     0.00   132.00    66.00     0.03    7.00    0.00    7.00   7.00   2.80

svctm減価償却される明らかな警告以外に、これら2つの列の違いは何ですか?

回答:


13

Linux iostatでは、await列(平均待機)は、最初から最後まで計算されたI / O要求で費やされた平均時間を示しています。

svctmコラム(サービス時間)、すなわちOS「外」に費やした時間、要求をサービスする費やした平均時間が表示されます。デバイスがすでにビジーであり、それ以上の同時リクエストを受け付けない場合、リクエストはキューで待機する時間を失っている可能性があるため、前のリクエストと同じかそれより小さくする必要があります。

他のすべてのUnix / Unixのような実装ではないにしてもほとんどとは異なり、Linuxカーネルは実際のサービス時間を測定しないため、iostatそのプラットフォームでは既存の統計からそれを導出しようとしますが、これは些細なユースケースの外では実行できないため失敗します。

詳細については、このブログとそれに続く興味深い議論を参照してください。


3
ありがとう。精巧なマニュアルが述べているように、私は今、await= svctm+を理解していhowever_long_in_queueます!
dotancohen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.