iostat: รอคอยกับ svctm


16

ในiostatmanpage ฉันได้พบทั้งสองคอลัมน์ที่คล้ายกัน:

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คิดค่าเสื่อมราคาแล้วความแตกต่างระหว่างสองคอลัมน์นี้คืออะไร

คำตอบ:


13

บน Linux iostatที่awaitคอลัมน์ (รอเฉลี่ย) มีการแสดงเวลาเฉลี่ยที่ใช้โดยการร้องขอ I / O คำนวณจากจุดเริ่มต้นมากในช่วงปลายของมัน

svctmคอลัมน์ (เวลาบริการ) ควรแสดงเวลาเฉลี่ยที่ใช้บริการที่ร้องขอคือเวลาที่ใช้ "นอก" ระบบปฏิบัติการ ควรจะเท่ากับหรือเล็กกว่าคำขอก่อนหน้าเนื่องจากคำขออาจเสียเวลาในการรอคิวหากอุปกรณ์ไม่ว่างอยู่แล้วและไม่ยอมรับคำขอพร้อมกันมากขึ้น

ซึ่งแตกต่างจากที่สุดถ้าไม่ใช่ Unix / Unix อื่น ๆ เช่นการใช้งานเคอร์เนล Linux ไม่ได้วัดเวลาการให้บริการจริงดังนั้นiostatบนแพลตฟอร์มนั้นพยายามรับมาจากสถิติที่มีอยู่ แต่ล้มเหลวเนื่องจากไม่สามารถทำได้นอกกรณีการใช้งานเล็กน้อย

ดูบล็อกนี้และการสนทนาที่น่าสนใจที่ติดตามรายละเอียด


3
ขอบคุณ ตอนนี้ฉันเข้าใจแล้วว่าawait= svctm+ however_long_in_queueเช่นเดียวกับรัฐปรับเอง!
dotancohen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.