ฉันต้องการตรวจสอบดิสก์ io ทั่วไปบนเซิร์ฟเวอร์ debian linux เครื่องมืออะไรที่ฉันควรรู้เกี่ยวกับดิสก์มอนิเตอร์ io นั้นฉันจึงสามารถดูได้ว่าประสิทธิภาพของดิสก์ได้รับการขยายสูงสุดหรือแหลมในบางช่วงเวลาตลอดทั้งวันหรือไม่
ฉันต้องการตรวจสอบดิสก์ io ทั่วไปบนเซิร์ฟเวอร์ debian linux เครื่องมืออะไรที่ฉันควรรู้เกี่ยวกับดิสก์มอนิเตอร์ io นั้นฉันจึงสามารถดูได้ว่าประสิทธิภาพของดิสก์ได้รับการขยายสูงสุดหรือแหลมในบางช่วงเวลาตลอดทั้งวันหรือไม่
คำตอบ:
สำหรับแนวโน้ม I / O ของดิสก์มีตัวเลือกน้อย ที่ชื่นชอบส่วนตัวของฉันคือคำสั่งจากsar
sysstat
โดยค่าเริ่มต้นจะให้ผลลัพธ์ดังนี้:
09:25:01 AM CPU %user %nice %system %iowait %steal %idle
09:35:01 AM all 0.11 0.00 0.01 0.00 0.00 99.88
09:45:01 AM all 0.12 0.00 0.01 0.00 0.00 99.86
09:55:01 AM all 0.09 0.00 0.01 0.00 0.00 99.90
10:05:01 AM all 0.10 0.00 0.01 0.02 0.01 99.86
Average: all 0.19 0.00 0.02 0.00 0.01 99.78
%iowait
เป็นเวลาที่ใช้รอ I / O การใช้แพ็คเกจ Debian คุณต้องเปิดใช้งานตัวรวบรวมสถิติผ่าน/etc/default/sysstat
ไฟล์ปรับแต่งหลังจากติดตั้งแพ็คเกจ
หากต้องการดูการใช้งานในปัจจุบันแยกตามอุปกรณ์คุณสามารถใช้iostat
คำสั่งได้เช่นกันจากแพ็คเกจ sysstat:
$ iostat -x 1
Linux 3.5.2-x86_64-linode26 (linode) 11/08/2012 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.84 0.00 0.08 1.22 0.07 97.80
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
xvda 0.09 1.02 2.58 0.49 112.79 12.11 40.74 0.15 48.56 3.88 1.19
xvdb 1.39 0.43 4.03 1.82 43.33 18.43 10.56 0.66 112.73 1.93 1.13
บางตัวเลือกอื่น ๆ ที่สามารถแสดงการใช้งานดิสก์ในแนวโน้มกราฟจะMuninและcacti
ไปดูไอโซโทป
หรือไอโอดีนถ้านั่นเป็นวิธีที่คุณคิด
dstat
ผมชอบ มันสามารถแสดงผลรวมและสถิติต่อดิสก์และแม้กระทั่งอุปกรณ์ md (RAID) นอกจากนี้ยังสามารถใช้สีสำหรับภาพรวมที่ดีกว่า:
$ dstat -tdD total,sda,sdb,sdc,md1 60
----system---- -dsk/total----dsk/sda-----dsk/sdb-----dsk/sdc-----dsk/md1--
time | read writ: read writ: read writ: read writ: read writ
08-11 22:08:17|3549k 277k: 144k 28k: 851k 62k: 852k 60k: 25k 82k
08-11 22:09:17| 60k 258k:1775B 15k: 13k 63k: 15k 60k: 68B 74k
08-11 22:10:17| 176k 499k: 0 14k: 41k 122k: 41k 125k: 273B 157k
08-11 22:11:17| 42k 230k: 0 14k:9830B 54k: 14k 51k: 0 70k
08-11 22:11:52| 28k 132k: 0 5032B:5266B 33k:9479B 28k: 0 37k
-t
สำหรับการประทับเวลา-d
สำหรับสถิติดิสก์-D
เพื่อระบุอุปกรณ์ที่แน่นอนที่จะรายงาน60
โดยเฉลี่ยมากกว่า 60 วินาที จอแสดงผลจะอัปเดตทุกวินาที แต่จะมีเพียงหนึ่งครั้งต่อ 60 วินาทีที่บรรทัดใหม่จะเริ่มขึ้น
ไม่ได้ใช้ในตัวอย่างนี้ แต่-c
สามารถรายงานรอเปอร์เซ็นต์ IO ซึ่งในกรณีส่วนใหญ่เกี่ยวข้องกับ CPU ที่รอข้อมูลจากดิสก์
มันพร้อมใช้งานสำหรับการกระจาย Linux ส่วนใหญ่ แต่บางครั้งจำเป็นต้องติดตั้งจากที่เก็บ
เพียงแค่จากไฟล์บนเครื่องคอมพิวเตอร์ของคุณ (สมมติว่าเคอร์เนลล่าสุด) คุณสามารถถามหรือ/sys/block/sda/stat
/proc/diskstats
มันจะต้องมีการแปลบางอย่าง แต่มันก็ดีสำหรับการเช็คที่รวดเร็วและสกปรก
/sys/block/sda/stat
เป็นเอกสารที่https://www.kernel.org/doc/Documentation/block/stat.txt
/proc/diskstats
มีการบันทึกไว้ที่kernel.org/doc/Documentation/iostats.txt
ตัวเลือกอื่นคือการใช้: sudo iotop -aoP
-a Will show accumulated output
-o Will only output
-P Will only show processes instead of threads
โปรแกรมนี้จะบอกคุณว่ากระบวนการเขียนไปยังดิสก์และอ่านจากดิสก์มากแค่ไหนตั้งแต่เริ่มใช้ iotop
smartctl
เพื่อดูว่าดิสก์แข็งแรงหรือไม่
Monitoring Disk Io สามารถทำได้โดยใช้เครื่องมือหลายอย่างเช่น
นอกจากนี้แนวคิดระบบปฏิบัติการที่สำคัญบางอย่างก็จำเป็นอย่างยิ่งที่จะต้องเข้าใจพวกเขา .. อ่านกวดวิชาที่สมบูรณ์ของLinux IO
อีกหนึ่งเครื่องมือที่ยอดเยี่ยมสำหรับภาพรวมอย่างรวดเร็วว่าโหลดมาจากไหน atop
มันสามารถแสดงภาพรวมของทรัพยากรทั้งหมด (CPU, หน่วยความจำ / แลกเปลี่ยน, เครือข่ายและดิสก์ I / O) หรือคุณสามารถเจาะลึกไปที่ทรัพยากรเดียวและกระบวนการเรียงลำดับตามปริมาณการใช้
สิ่งที่ดีที่สุดที่จะทำอย่างไรถ้าคุณต้องการที่จะเห็นประสิทธิภาพการทำงานบนเป็นระยะเวลานานคือการใช้Centreon ซึ่งเป็นเครื่องมือที่มีประสิทธิภาพในการสร้างNagios Centreon ทำให้คุณสามารถตรวจสอบได้โดยการวาดกราฟการแสดงของทรัพยากรและสิ่งอื่น ๆ มากมาย