Linux

iostat:等待與 svctm

  • December 8, 2013

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的折舊警告外,這兩列之間有什麼區別

在 linuxiostat上,await列(平均等待)顯示了 I/O 請求從開始到結束所花費的平均時間。

svctm(服務時間)應顯示服務請求所花費的平均時間,即在作業系統“外部”花費的時間。它應該等於或小於前一個,因為如果設備已經很忙並且不接受更多並發請求,則請求可能會浪費時間在隊列中等待。

與大多數(如果不是所有)類似 Unix / Unix 的實現不同,Linux 核心不測量實際服務時間,因此iostat該平台試圖從現有統計數據中推導出它,但失敗了,因為這無法在瑣碎的案例之外完成。

有關詳細資訊,請參閱此部落格和隨後的有趣討論

引用自:https://unix.stackexchange.com/questions/104192