เมื่อใดก็ตามที่มีดิสก์ I / O สูงระบบจะช้าและตอบสนองน้อยกว่าปกติ เคอร์เนล Linux มีความคืบหน้าเกี่ยวกับเรื่องนี้อย่างไร ปัญหานี้เกิดขึ้นอย่างแข็งขันหรือไม่?
เมื่อใดก็ตามที่มีดิสก์ I / O สูงระบบจะช้าและตอบสนองน้อยกว่าปกติ เคอร์เนล Linux มีความคืบหน้าเกี่ยวกับเรื่องนี้อย่างไร ปัญหานี้เกิดขึ้นอย่างแข็งขันหรือไม่?
คำตอบ:
ฉันคิดว่าส่วนใหญ่จะได้รับการแก้ไข ประสิทธิภาพการทำงานของฉันภายใต้ IO หนักได้รับการปรับปรุงใน 2.6.36 และฉันคาดหวังว่าจะปรับปรุงให้ดีขึ้นใน 2.6.37 ดูบทความphoronix เหล่านี้
Wu Fengguang และ KOSAKI Motohiro ได้ตีพิมพ์แผ่นแปะสัปดาห์นี้ว่าพวกเขาเชื่อว่าจะจัดการกับปัญหาการตอบสนองบางอย่างซึ่งพวกเขาเรียกว่า "ระบบไม่ตอบสนองภายใต้ความกดดันของหน่วยความจำ Andreas Mohr หนึ่งในผู้ใช้ที่รายงานปัญหานี้ไปยัง LKML และทดสอบแพตช์สองตัวที่ใช้กับ vmscan ของเคอร์เนลรายงานความสำเร็จ ปัญหาของ Andreas คือระบบไม่ตอบสนองอย่างสมบูรณ์ (และเปลี่ยนเป็น VT ใช้เวลา 20+ วินาที) เมื่อสร้างระบบไฟล์ EXT4 เมื่อเชื่อมต่อไดรฟ์โซลิดสเตตผ่าน USB 1.1 บนระบบของเขาเมื่อเขียน 300M จากไฟล์ / dev / zero ปัญหาก็ยิ่งแย่ลง
นี่คือลิงก์โดยตรงไปยังข้อผิดพลาด
นอกจากนี้จาก Phoronix
โชคดีที่จากการทดสอบของเราและรายงานของผู้ใช้ลีนุกซ์อื่นที่กำลังมองหาที่จะเห็นปัญหานี้ได้รับการแก้ไขแพทช์ vmscan ที่ค่อนข้างเล็กที่เผยแพร่นั้นดูเหมือนจะแก้ไขปัญหาได้ดีขึ้น อินเทอร์เฟซผู้ใช้ (GNOME ในกรณีของเรา) ยังคงไม่ลื่นไหล 100% ถ้าระบบยังคงมีกิจกรรมบนดิสก์จำนวนมหาศาล แต่ก็ดีขึ้นกว่า แต่ก่อนและสิ่งที่พบได้ในขณะนี้ด้วยเคอร์เนล 2.6.35
นอกจากนี้ยังมีประกาศเปิดตัว Phoronix 2.6.36
ดูเหมือนว่าสิ่งกีดขวางบล็อกกำลังจะหายไปและนั่นก็ควรช่วยประสิทธิภาพด้วย
ในทางปฏิบัติสิ่งกีดขวางนั้นมีชื่อเสียงในด้านการฆ่าประสิทธิภาพบล็อก I / O จนถึงจุดที่ผู้ดูแลระบบมักถูกล่อลวงให้ปิดและรับความเสี่ยง ในขณะที่การดำเนินงานคิวที่ติดแท็กที่จัดทำโดยฮาร์ดแวร์ร่วมสมัยควรใช้สิ่งกีดขวางอย่างสมเหตุสมผล ดังนั้นในโลกแห่งความเป็นจริงสิ่งกีดขวางถูกนำไปใช้โดยเพียงแค่ระบายคิวคำร้องขอ I / O ก่อนที่จะออกการดำเนินการกับสิ่งกีดขวางโดยมีการดำเนินการล้างออกมาเพื่อให้ฮาร์ดแวร์สามารถส่งข้อมูลไปยังสื่อถาวรได้ การดำเนินการในคิวจะระบายอุปกรณ์และฆ่าขนานที่จำเป็นสำหรับการทำงานเต็มประสิทธิภาพ; ไม่น่าแปลกใจเลยที่การใช้สิ่งกีดขวางอาจเจ็บปวด
นอกจากนี้ยังมีบทความ LWN เกี่ยวกับการตั้งเวลา I / O ที่ยุติธรรม
ฉันจะบอกว่า IO ถูกปลุกขึ้นมาใหม่เป็นเรื่องใหญ่เกี่ยวกับเวลาของการเปิดตัว ext4 ใน 2.6.28 ลิงค์ต่อไปนี้เป็นลินุกซ์เคอร์เนล Newbiesเคอร์เนลคุณควรตรวจสอบส่วนของบล็อกและระบบไฟล์ แน่นอนว่านี่อาจเป็นความเชื่อมั่นที่ไม่เป็นธรรมหรือเพียงเวลาที่ฉันเริ่มดูการพัฒนา FS ฉันแน่ใจว่ามันได้รับการปรับปรุงมาตลอด แต่ฉันรู้สึกว่าปัญหา ext4 บางอย่างทำให้คนดูยาก ๆ ในสแต็ค IO หรือ อาจเป็นไปได้ว่าพวกเขาคาดหวังว่า ext4 จะสามารถแก้ไขปัญหาด้านประสิทธิภาพทั้งหมดได้และเมื่อพวกเขาไม่ได้ตระหนักว่าพวกเขาต้องมองหาปัญหาที่อื่น
2.6.28 , 2.6.29 , 2.6.30 , 2.6.31 , 2.6.32 , 2.6.33 , 2.6.34 , 2.6.35 , 2.6.36 , 2.6.37