ฉันเคยเห็นคำถามนี้: วิธีการระบุหนักเขียนลงดิสก์?
และฉันเคยใช้dstatและatopมาก่อน ... แต่พวกเขาดูเหมือนจะไม่ทราบว่ากระบวนการใดที่ทำให้เกิดดิสก์ I / O ตัวอย่างเช่นจาก dstat:
dstat -ta --top-bio
----system---- ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- ----most-expensive----
time |usr sys idl wai hiq siq| read writ| recv send| in out | int csw | block i/o process
14-12 16:16:25| 22 3 49 26 0 0|2324k 0 | 17k 6144B| 0 0 |1324 0 |
14-12 16:16:26| 24 3 30 43 0 0|4960k 8192B|1498B 4322B| 0 0 |1494 0 |wget 0 4096B
14-12 16:16:27| 25 4 38 33 0 0|4612k 548k|5011B 27k| 0 0 |1582 0 |kjournald 0 24k
14-12 16:16:28| 23 3 42 32 0 0|5072k 0 | 24k 4368B| 0 0 |1495 0 |
สังเกตว่า dsk / total สูงเพียงใด - ระหว่าง 2 ถึง 5 MB / วินาที แต่จากนั้นดูคอลัมน์ 'แพงที่สุด' - มีเพียงไม่กี่ไบต์ที่นี่สองสามกิโล KB ที่นั่นและบางครั้งก็ไม่มีอะไรเลย มันเป็นสิ่งเดียวกันกับ 'atop' แสดงการใช้งานดิสก์โดยรวมสูง แต่การใช้งานต่ำจากแต่ละกระบวนการ ฉันใช้ CentOS 5, เคอร์เนล 2.6.18-53
ฉันต้องการเคอร์เนลเวอร์ชันที่ใหม่กว่าหรือไม่ บางทีการตั้งค่าระบบบางอย่างอยู่ที่ไหน? หน้าแรกของ 'atop' แนะนำให้ติดตั้งเคอร์เนลแพตช์บางตัว แต่ฉันไม่อยากยุ่งกับการตั้งค่าและคอมไพล์เคอร์เนลของตัวเอง