การลดลงของประสิทธิภาพการทำงานของ I / O จำนวนมากที่ไม่อาจคาดการณ์ได้ใน Linux


11

ฉันใช้การทดสอบ Debian โดยไม่มีปัญหาใด ๆ เป็นเวลา ~ 6 ปี (ฉันเพิ่งอัปเดตเป็นประจำ) แต่เมื่อเร็ว ๆ นี้มันเริ่มแสดงพฤติกรรมแบบสุ่มที่สามารถสรุปได้ว่า "ประสิทธิภาพ I / O ต่ำซึ่งยังคงอยู่จนกระทั่งรีบูต"

ปัญหาคือทันใดดิสก์ทั้งหมดอ่านและเขียนช้าลงถึง ~ 5MB / วินาทีซึ่งส่งผลในการอ่านและเขียนอย่างต่อเนื่อง เนื่องจากอัตราต่ำมากดิสก์จึงไม่ได้ท้าทายหรือเน้นกลไก แต่ทุกอย่างช้าลงจนกว่าฉันจะรีบูต

ระบบย่อย I / O ของคอมพิวเตอร์ประกอบด้วยหนึ่ง OCZ Vertex 3 SSD และ HDD WD Caviar Black สองตัว SSD เก็บส่วนที่อ่านหนักของระบบปฏิบัติการและพาร์ติชันบน HDD เก็บส่วนที่เหลือ

เพื่อวินิจฉัยปัญหาฉันลองทำสิ่งต่อไปนี้โดยไม่ประสบความสำเร็จ:

  • top ไม่แสดงกิจกรรมที่ควบคุมไม่ได้ทั้งในการใช้งาน CPU และ I / O
  • hdparmส่งกลับการจัดอันดับประสิทธิภาพตามปกติของดิสก์ (ฉันตรวจสอบเท่านั้น-t)
  • smartctlไม่แสดงปัญหาประสิทธิภาพการทำงานในดิสก์ การทดสอบระยะยาวแสดงให้เห็นว่าดิสก์นั้นดีเหมือนใหม่

ระบบมี Z77 Chipset, 16GB ของ RAM และ Intel i7 3770K CPU และสถิติไม่แสดงอาการอิ่มตัวใน RAM, I / O หรือ CPU แต่ฉันไม่เคยมีประสบการณ์ในการแก้ปัญหาเช่นนี้ (โดยเฉพาะในพื้นที่เคอร์เนล) ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม.

อัปเดต 1:

  • ฉันวิ่ง (บังคับ) fsck บนทุก ๆ พาร์ติชันเพื่อป้องกันไว้ก่อน FS ทั้งหมดนั้นสะอาด
  • บังเอิญฉันพบการอัปเกรด BIOS ซึ่งออกมาเมื่อเดือนที่แล้ว & ใช้มัน
  • ไม่มีการแบ่งพาร์ติชันมากกว่า 50%

อัปเดต 2:

ปัญหาไม่ได้เกิดขึ้นเป็นเวลาสองวัน อย่างใดอย่างหนึ่งfsckหรือการปรับปรุง BIOS ทำความสะอาดอุดตันในระบบ ฉันยังคงติดตามปัญหานี้และจะปิดคำถามด้วยคำตอบภายหลังการชันสูตร

อัปเดต 3:

ปัญหาเกิดขึ้นใหม่และฉันขุดอีกครั้ง โปรดดูคำตอบ


1
อาจเป็นปัญหาการกระจายตัวatopจะบอกคุณว่าดิสก์ยุ่งแค่ไหน (เช่นเมื่อค้นหาตลอดเวลา)
Stéphane Chazelas

1
เพียงเพื่อออกกฎนิสัยใจคอบางปิดการใช้งานและการตั้งค่า NCQ I / O noopที่จะจัดตารางเวลา
frostschutz

1
"ประสิทธิภาพ I / O ต่ำซึ่งยังคงมีอยู่จนกว่าจะรีบูต" อาจเป็นอุปกรณ์ที่ขาด / บั๊กกี้ที่ยึดบัสบ่อยเกินไปเป็นเวลานานเกินไปซึ่งเป็นเรื่องที่น่ารำคาญอย่างยิ่งที่จะวินิจฉัยปัญหาการเปลี่ยนฮาร์ดแวร์ให้สั้น
msw

1
จากนั้นสิ่งต่อไปใน lsit ของฉันที่จะตรวจสอบคือการตรวจสอบบันทึกข้อผิดพลาดและตรวจสอบว่ามีหน่วยความจำมากมายที่จัดสรรให้กับบัฟเฟอร์ / แคช (ดูผลลัพธ์free)
symcbean

1
คุณอาจจะเห็นiowaitฯลฯ หากคุณกำลังรวบรวมข้อมูล sar ฉันจะเปิดใช้งานsysstatหากยังไม่ได้ใช้งาน คุณสามารถตรวจสอบกับsar -Aแพลตฟอร์มส่วนใหญ่มีช่วงเวลาตัวอย่างสิบนาที
Bratchley

คำตอบ:


12

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

การวางดิสก์แคชไว้พร้อมกับการecho 3 > /proc/sys/vm/drop_cachesแก้ไขปัญหาราก ปัจจุบันฉันไม่รู้ว่าทำไมแคชของดิสก์ขนาดใหญ่ทำให้เกิดการลดลงของ I / O นี้

อัปเดตครั้งล่าสุด:หลังจากการตรวจสอบเพิ่มเติมฉันพบว่าจำนวนไฟล์ในแคชกำลังก่อให้เกิดปัญหา มันกำลังทำลายดิสก์ในขณะที่พยายามส่งไฟล์ขนาดเล็กจำนวนมากกลับไปที่ดิสก์ ตั้งแต่ฉันใช้ระบบเป็นเวลาสิบปีฉันก็เลยกระโดดและติดตั้งใหม่ด้วย 64 บิต Debian ตอนนี้มันทำงานได้อย่างราบรื่น มันอาจเป็นผลข้างเคียงของการอัพเกรดสิบปีด้วยการค้นหาขีด จำกัด ของระบบปฏิบัติการ 32 บิต


2

มีข้อความที่น่าสงสัยdmesgหรือไม่

เครื่องมือเพิ่มเติมที่คุณสามารถลองรับข้อมูลเชิงลึกเกี่ยวกับปัญหาคอขวดของระบบของคุณ:

  • dstat
  • latencytop
  • sysprof

ไม่มีอะไรน่าสงสัยในบันทึกใด ๆ TBH ไม่มีรายการบันทึกที่เกี่ยวข้องกับปัญหานี้ ฉันจะลองใช้เครื่องมือต่าง ๆ ไม่ควรมีคอขวดในพีซีระดับสูงในขณะที่ไม่ได้ใช้งาน ฉันคิดว่าแคชหรือสิ่งที่เกี่ยวข้องกับระบบย่อย I / O ผิดไป
bayindirh

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