ฉันจะตรวจสอบกิจกรรมของดิสก์ในไดรฟ์ที่ระบุได้อย่างไร


35

ฉันต้องการดูกิจกรรมของดิสก์บนฮาร์ดไดรฟ์ภายนอก USB ของฉัน ฉันรู้ว่าฉันสามารถใช้iotopในการตรวจสอบดิสก์ I / O สำหรับแต่ละกระบวนการที่กำลังทำงานอยู่ แต่มีวิธีการวัดต่อระบบไฟล์หรือไม่?

คำตอบ:


19

dstat นั้นดีกว่า iostat สำหรับการตรวจสอบกิจกรรมของดิสก์อย่างเคร่งครัด

ฉันใช้คำสั่งต่อไปนี้ในขณะที่ย้ายไฟล์จากฮาร์ดไดรฟ์หนึ่งไปยังอีกฮาร์ดไดรฟ์

dstat -D sda,sdc

สำหรับข้อมูลเพิ่มเติมดูที่หน้านี้

https://help.ubuntu.com/community/DiskPerformance


1
ดีมาก. อย่างไรก็ตามวิธีนี้ฉันไม่สามารถดูว่ากระบวนการใดที่ทำให้ IO ดังนั้นฉันจึงติดอยู่กับการเห็นว่ากระบวนการใด (กับไอโซโทป) หรืออุปกรณ์ใด (กับ dstat) แต่ไม่ใช่ทั้งสองอย่าง
jlh

ฉันหวังว่าเราจะสามารถ จำกัด การเฝ้าดูกระบวนการเฉพาะ
แมตต์

23

ฉันไม่ชำนาญในเรื่องนี้ แต่iostatมาถึงใจ คุณสามารถติดตั้งได้ด้วยแพ็คเกจsysstat โชคดี!


6
ตัวอย่างการใช้งาน: iostat -d 10 /dev/sdaจะให้คุณใช้ประโยชน์ io ใน 10 /dev/sdaช่วงที่สองของ ฉันเกือบจะใช้watch iostat -d /dev/sdaตัวเลือกช่วงเวลา แก้ไข: เอาชนะฉันในขณะที่ฉันกำลังพิมพ์ :)
aperson

1
watchฉันเพิ่งอ่านว่าชุดแรกของค่ารายงานสถิติจากสิ่งที่ได้เกิดขึ้นตั้งแต่การเริ่มต้นระบบจึงเปิดออกไม่ได้จะทำให้ความรู้สึกมากที่จะใช้ การรายงานอย่างต่อเนื่องกับสิ่งที่ต้องการiostat -dk 10คืนค่าตัวเลขที่มีความหมายมากขึ้น
ændrük

อืม ... ฉันไม่ชอบเลยว่ามันเติมการเลื่อนทั้งหมดของฉัน
aperson

ข้อเหวี่ยงเปิดเทอร์มินัลใหม่แล้วทำเช่นนั้น
adampski

10

การใช้iostatจากsysstatแพคเกจจะให้ภาพรวมของผลลัพธ์ตั้งแต่เริ่มต้น การใช้พารามิเตอร์ interval จะผนวกผลลัพธ์ไว้เฉพาะช่วงเวลาสุดท้ายกับเอาต์พุต ตัวอย่างเช่นiostat 10จะแสดงค่า "ตั้งแต่การบู๊ต" ก่อนแล้วจึงดำเนินการต่อเพื่อเพิ่มสถิติ 10 วินาทีล่าสุดลงในเอาต์พุตทุก ๆ 10 วินาที รวม-yตัวเลือกในการละเว้นการแสดงสถิติครั้งแรกนับตั้งแต่การบูต แต่เข้าใจว่าคำสั่งจะไม่ได้ใช้งานสำหรับช่วงเวลาที่ระบุในขณะที่ระบบรวบรวมสแนปชอตแรก

ฉันพบว่ามีประสิทธิภาพมากที่สุดเมื่อรวมกับwatchคำสั่งและระบุให้รวบรวมเฉพาะช่วงเวลาเดียวของสถิติ ตัวอย่างเช่น: watch -t -n 0.1 iostat -d -t -y 5 1 ให้รีเฟรชทุก ๆ 5.1 วินาทีของสถิติกิจกรรมในช่วง 5 วินาทีที่ผ่านมา หากต้องการแยกตัวเลือกและพารามิเตอร์ ...

  • คนแรก-tบอกให้ดูที่จะละเว้นส่วนหัว นี่คือการหลีกเลี่ยงความสับสนว่าส่วนหัวจะรวม "ทุก ๆ 0.1" ซึ่งไม่ได้เป็นตัวแทนของภาพรวมของข้อมูล
  • -n 0.1บอกนาฬิกาที่จะเรียกใช้คำสั่งต่อไปนี้ทุก 0.1 วินาที นี่เป็นช่วงเวลาที่เล็กที่สุดสำหรับการดู (procps-ng 3.3.9) แต่ไม่ต้องกังวลมันไม่ได้รันคำสั่งทุก ๆ 0.1 วินาที มันจะรันคำสั่ง 0.1 วินาทีหลังจากอินสแตนซ์ก่อนหน้านี้เสร็จสมบูรณ์
  • -dบอก iostat กับการใช้อุปกรณ์แสดงผลเท่านั้นที่เกี่ยวข้องตั้งแต่คำถามที่ได้รับเกี่ยวกับการทำงานของดิสก์ อีกวิธีหนึ่งในการตรวจสอบดิสก์เฉพาะชื่ออุปกรณ์สามารถแทรกก่อนพารามิเตอร์ช่วงเวลา
  • -tสวิตช์ที่สองจะบอกให้ iostat รวมเวลาของการรีเฟรชในสถิติ สิ่งนี้มีประโยชน์เนื่องจากการละเว้นส่วนหัวของนาฬิกาก่อนหน้านี้ได้ลบการแสดงเวลาที่น่าจะมี
  • -yสวิตช์ละเว้นหน้าจอแรกของ "ตั้งแต่บูต" สถิติจากการแสดงผลช่วงเวลา หากไม่มีสิ่งนี้ผลลัพธ์จะเป็นการแสดงสถิติตั้งแต่เริ่มการอัพเดตในช่วงเวลาของคำสั่ง watch
  • 5 1เป็นพารามิเตอร์ช่วง iostat ในกรณีนี้จะเก็บสถิติ 5 วินาทีหนึ่งครั้ง (1) เนื่องจากมีการใช้สวิตช์ -y สิ่งนี้จะแสดงเพียงหน้าจอเดียวของข้อมูล

จะใช้เวลา 5 วินาทีเพื่อให้ iostat รวบรวมข้อมูลจากนั้นจะปรากฏในนาฬิกาและ 0.1 วินาทีหลังจากนั้นนาฬิกาจะทริกเกอร์คำสั่ง iostat อีกครั้ง 5 วินาทีต่อมาข้อมูลใหม่จะแทนที่เก่านาฬิกาจะรอ 0.1 วินาทีล้างล้างทำซ้ำ ...


9

ลองกับnmon

sudo apt-get install nmon

ลอง:

nmon

เอาท์พุทชอบด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่

กด d = ดิสก์กด c = CPU กด r = RAM, กด v = หน่วยความจำเสมือน, สถานะ Kernal กด K, กด N = เครือข่ายและกด q หรือ x เพื่อออก

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