iostat : 기다림과 svctm in queue and

에서 iostat맨 나는이 두 개의 유사한 열을 발견했다 :

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감가 상각 되는 명백한 경고 이외에이 두 열의 차이점은 무엇 입니까?



답변

linux iostat에서 await열 (평균 대기)은 I / O 요청이 처음부터 끝까지 계산 한 평균 시간을 보여줍니다.

svctm열 (서비스 시간) 요청을 서비스 소요 된 평균 시간을 표시한다, 즉 시간이 “외부”를 OS를 보냈다. 장치가 이미 사용 중이고 더 많은 동시 요청을 수락하지 않으면 요청이 대기열에서 대기하는 시간을 잃을 수 있으므로 이전 요청과 같거나 작아야합니다.

다른 모든 유닉스 / 유닉스와 같은 구현은 아니지만 대부분의 리눅스 커널은 실제 서비스 시간을 측정하지 않으므로 iostat플랫폼에서 기존 통계에서 파생하려고 시도하지만 사소한 사용 사례 외부에서는 수행 할 수 없으므로 실패합니다.

자세한 내용은이 블로그와 흥미로운 토론 을 참조하십시오.


답변