สร้าง CPU I / O รออะไร แต่ไม่มีการทำงานของดิสก์


12

ฉันมี CPU I / O รอประมาณ 50% คงที่ แต่เมื่อฉันรันiostat 1มันจะแสดงกิจกรรมดิสก์เพียงเล็กน้อยหรือไม่มีเลย

อะไรเป็นสาเหตุให้รอโดยไม่ต้องใช้ iops

หมายเหตุ: ไม่มีระบบไฟล์ NFS หรือ FUSE ที่นี่ แต่ใช้ Xen virtualization

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


distro อะไร รุ่นใด
ZaMoose

2
นอกจากนี้: นี่เป็นเครื่อง Xen Hyper Visor หรือ VM ที่มี iowaits หรือไม่
ZaMoose

ไม่iotopแสดงให้คุณเห็นอะไร?
Janne Pikkarainen

คำตอบ:


7

NFS สามารถทำสิ่งนี้ได้และจะไม่ทำให้ฉันประหลาดใจหากระบบไฟล์เครือข่ายอื่น ๆ (และแม้แต่อุปกรณ์ที่ใช้ FUSE) มีเอฟเฟกต์ที่คล้ายกัน


ขอบคุณ แต่ในกรณีนี้ไม่มี NFS และไม่มี FUSE ฉันจะเพิ่มคำถามนั้นด้วย
Jason Cohen

6

มีโอกาสอื่น ๆ บนเซิร์ฟเวอร์ที่กำลัง thrashing ดิสก์หรือไม่

ฉันรู้ด้วยระบบเสมือนจริงที่คุณสามารถรับผลลัพธ์แปลก ๆ ได้หากโหนดโฮสต์โอเวอร์โหลด


จริง แต่นั่นควรจะขโมย% แทนที่จะเป็น io% ใช่ไหม หรือจะข้ามไปที่นั่นด้วยได้ไหม?
Jason Cohen

3
การขโมยเกิดขึ้นเมื่อ CPU มีความจุน้อยกว่าที่ร้องขอจาก VM หากฟิสิคัลดิสก์มีมากเกินไปกระบวนการของคุณจะใช้เวลามากในการ iowait รอการเปิดที่ดิสก์แม้ว่าพวกเขาจะไม่ได้กดปุ่มดิสก์มาก
lbft

ใช่สิ่งนี้ ดูคำถามอื่นด้วยคำตอบเดียวกันที่serverfault.com/a/209031/57468
mattdm

3

หากนี่คือสภาพแวดล้อมของ Amazon EC2 Xen โดยใช้ที่เก็บข้อมูลตามอินสแตนซ์ให้ขอให้ Amazon ตรวจสอบสภาพของโฮสต์ที่มีภาพนี้อยู่

หากนี่คือสภาพแวดล้อม Xen ที่คุณสามารถเข้าถึงไฮเปอร์ไวเซอร์จากนั้นตรวจสอบ IOwait จากโดยไม่ต้องใช้ดิสก์อิมเมจ (ไฟล์เครือข่าย LVM-slice, อะไรก็ตาม) ที่ใช้สำหรับอุปกรณ์ xvda และ xvdb นอกจากนี้คุณจะต้องตรวจสอบระบบ I / O โดยทั่วไปสำหรับไฮเปอร์ไวเซอร์เนื่องจากอุปกรณ์ดิสก์อื่น ๆ อาจผูกขาดทรัพยากรของระบบ

iostat -txk 5

มักจะเป็นเครื่องมือวินิจฉัยที่ดีในการเริ่มต้น ใช้เวลาสรุป 5 วินาทีของ I / O สำหรับอุปกรณ์ทั้งหมดที่มีอยู่และมีประโยชน์ทั้งในและนอกอิมเมจ VM


2

ตรวจสอบไฟล์ descriptor / inodes ของคุณ เมื่อคุณถึงขีด จำกัด พวกเขาสลับและเลียนแบบ iowait

แก้ไข

ฉันเห็นว่าคุณใช้ xen ดูที่การขัดจังหวะปัจจุบันของคุณคุณอาจพบว่า blkif สูงกว่าปกติ

สายไปหน่อย แต่ติดตั้ง munin แล้วมันจะช่วยแก้จุดบกพร่องในอนาคตได้จริงๆ


2
sudo sysctl vm.block_dump=1

จากนั้นตรวจสอบ dmesg เพื่อดูสิ่งที่กำลังทำการอ่าน / เขียนหรือ inodes สกปรก

ตรวจสอบข้อ จำกัด nofile ใน limit.conf กระบวนการอาจร้องขอไฟล์มากกว่าที่อนุญาตให้เปิดได้


1

คำเตือน: HDPARM เป็นอันตรายเสมออ่านเกี่ยวกับคำสั่งที่คุณใช้งาน!

หากไม่มีเครื่องเสมือนอื่น ๆกำลังทำฮาร์ดดิสก์อยู่ให้ทำ

hdparm -f

บนฟิสิคัลดิสก์พื้นฐาน อาจเป็นไปได้ว่าแคชของดิสก์ทำงานไม่ถูกต้อง นี่จะล้างข้อมูลที่เก็บไว้ในแคชและคุณสามารถตรวจสอบ I / O อย่างต่อเนื่องไม่ว่าจะเพิ่มขึ้นอีกครั้งหลังจากที่ล้างข้อมูล ถ้าใช่มันจะเป็นปัญหาแคช


0

ด้วยค่าเฉลี่ยของโหลดฉันได้เห็นการดำเนินการเครือข่ายที่ถูกบล็อก (เช่นการโทรไปยังเซิร์ฟเวอร์ฐานข้อมูลภายนอก) เพิ่มขึ้น ฉันไม่แน่ใจ แต่ฉันคาดเดาว่าเครือข่าย IO อาจทำให้ CPU รอขึ้นได้หรือไม่ มีใครยืนยันได้บ้าง


1
ในเครื่องจักรที่ทันสมัยที่สุดไม่มี ส่วนใหญ่หากไม่ใช่ระบบล่าสุดทั้งหมดที่มี NIC ที่สามารถใช้ DMA เพื่อป้องกันสถานการณ์ประเภทนี้ได้อย่างแม่นยำ
ZaMoose


0

บนเครื่องของฉัน NFS เป็น "ผู้สร้าง" IO-WAIT ที่ใหญ่ที่สุด ฉันมี SSD ในแล็ปท็อปของฉันซึ่งเร็วเหมือนนรกดังนั้น "real IO" จึงไม่ใช่ปัญหา อย่างไรก็ตามในบางครั้งฉันมีการรอคอย IO จำนวนมากเนื่องจากการแชร์ NFS ของฉัน

บางครั้ง SCP ก็ดูเหมือนจะนำไปสู่ ​​IO Wait แต่จะขยายออกไปน้อยกว่ามาก


0

สิ่งนี้สามารถเป็นอะไรก็ได้ หมายความว่ามีบางสิ่งรอการสิ้นสุดของการดำเนินการ I / O คุณสามารถคิดได้ว่ามันประมวลผลผ่าน ps อย่างไรจากนั้นแนบ gdb เข้ากับมันและตรวจสอบ backtrace เพื่อดูว่าการโทรใดหยุดทำงาน (โดยปกติจะเป็นสิ่งที่เกี่ยวข้องกับเครือข่าย สำหรับข้อมูล fd ตรวจสอบ / proc


0

ฉันยังประสบปัญหาคล้ายกันก่อนที่ดิสก์ใน RAID จะล้มเหลวและสายเคเบิล SATAบางอันที่มีการโค้งงออย่างแน่นหนาในนั้นก็เริ่มล้มเหลว

การใช้ CPU อยู่ใกล้ 0% แต่ CPU 1 ตัวหรือมากกว่าในระบบ 4 คอร์ใช้เวลา 100% ใน IOwait เป็นระยะเวลานาน (พบได้จากtopการแสดงผลแบบหลายสาย cpu) ที่มี IOps และแบนด์วิดท์ต่ำมาก (พบ ผ่านiostat) แต่มีกิจกรรมขัดจังหวะสูงมาก การใช้บรรทัดคำสั่งแบบโต้ตอบมีความเจ็บปวดในระหว่างการเข้าถึงดิสก์ (เช่นบันทึกอัตโนมัติจากemacsเซสชันของใครบางคน) แต่ก็สามารถทนได้เมื่อผ่านช่วงเวลาของ IOwait (และสันนิษฐานว่าการดำเนินการประสบความสำเร็จหลังจากลองหลายครั้ง)

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