การพิจารณาว่ากระบวนการใดเป็นสาเหตุของ I / O ของดิสก์หนัก


19

ฉันเคยเห็นคำถามนี้: วิธีการระบุหนักเขียนลงดิสก์?

และฉันเคยใช้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' แนะนำให้ติดตั้งเคอร์เนลแพตช์บางตัว แต่ฉันไม่อยากยุ่งกับการตั้งค่าและคอมไพล์เคอร์เนลของตัวเอง

คำตอบ:


26

iotop ( ลิงค์ ) สำหรับผู้เริ่มต้น;) ฉันไม่เห็นคุณโพสต์เอาท์พุทของมัน

1: ฉันเคยประสบกับสถานการณ์เกือบเดียวกันกับระบบแฟ้มบันทึกและ atime - แต่มีการเขียนเพิ่มเติม

ลองติดตั้งใหม่ด้วย noatime และปิดการบันทึกระบบไฟล์ (สำหรับการทดสอบในภายหลังเท่านั้น) เพื่อดูว่าเป็นระบบไฟล์หรือไม่และตามที่กล่าวไว้ iotop หากเป็นไปตามกระบวนการ

2: ฉันเดาว่าพาร์ติชันนี้ไม่ได้เป็นส่วนหนึ่งของอาเรย์การโจมตีที่เพิ่งสร้างใหม่ใช่ไหม

3: หากคุณมีไฟล์ขนาดเล็กจำนวนมาก (เล็กกว่าอุปกรณ์บล็อกจริงและ / หรือระบบบล็อกบล็อค) และคุณกำลังอ่านไฟล์ขนาดเล็กคุณจะจบการอ่านบล็อกทั้งหมดจากระบบและส่วนใหญ่ ของบล็อกเหล่านั้นจะถูกอ่านเพื่ออะไร

4: หากไม่มีสิ่งใดช่วยด้านบนคุณสามารถรับรายการของไฟล์ที่เข้าถึงได้โดยการดำเนินการ

echo 1 > /proc/sys/vm/block_dump

โปรดทราบว่ามันลดประสิทธิภาพของระบบลงอย่างมาก คำแนะนำมีอยู่ในโพสต์ก่อนหน้าของฉันที่นี่


1
เอาชนะฉันด้วยประมาณ 5 วินาที;) +1
pehrs

ฉันเพิ่งโชคดี แต่เกือบจะขยายคำตอบทันทีเพราะมันไม่ใช่คำตอบสำหรับคำถาม;)
asdmin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.