ระบบล็อคเมื่อดิสก์ I / O อิ่มตัว


8

เมื่อฉันถ่ายโอนไฟล์ขนาดใหญ่จากฮาร์ดไดรฟ์ USB3 ภายนอกของฉันไปยังฮาร์ดไดรฟ์ภายในของฉัน (หรือในทางกลับกัน) ไม่ว่าจะผ่าน Nautilus หรือผ่านเทอร์มินัล Ubuntu (Unity) จะล็อคอย่างสมบูรณ์ สิ่งต่าง ๆ เช่นแท็บ alt ใช้เวลา 20 วินาทีขึ้นไปให้เสร็จสมบูรณ์ในขณะที่กำลังถ่ายโอนไฟล์ นี่ไม่ใช่กรณีเมื่อมีการอ่าน / เขียนแบบสุ่มจำนวนมากไปยังดิสก์เช่นเมื่อติดตั้งแพ็คเกจ

เมื่อฉันใช้ Windows ฉันสามารถเรียกใช้การถ่ายโอนไฟล์ในพื้นหลังและยังสามารถทำสิ่งต่าง ๆ ได้แม้ว่าจะช้ากว่าเมื่อมีบางสิ่งที่จำเป็นในการเข้าถึงดิสก์ ฉันยังคงแท็บ alt ใช้ได้ดี

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

ฉันจะแก้ไขสิ่งนี้ได้อย่างไร ค่อนข้างน่ารำคาญเนื่องจากคอมพิวเตอร์ไม่สามารถใช้งานได้อย่างสมบูรณ์เมื่อคัดลอกไฟล์ ปัญหานี้เกิดขึ้นในทั้ง 14.04 และ 15.10 ฉันถูกบังคับให้เสียบฮาร์ดไดรฟ์ของฉันเข้ากับพอร์ต USB2 เพื่อป้องกันปัญหานี้และส่งผลให้เวลาในการถ่ายโอนนานขึ้น


ไม่ควร แต่ให้ตรวจสอบว่าunix.stackexchange.com/questions/107703/…ช่วยได้
ไหม

คำตอบ:


10

ฉันมีปัญหาเดียวกันในแล็ปท็อปของฉันซึ่งมีระบบดิสก์ค่อนข้างช้าเมื่อเทียบกับส่วนที่เหลือของคอมพิวเตอร์

ฉันสามารถทำให้ดีขึ้นมากโดยการเปลี่ยนอัลกอริทึมการตั้งเวลาที่ใช้สำหรับการถ่ายโอนดิสก์ ตามค่าเริ่มต้น Ubuntu ใช้กำหนดเวลา แต่ฉันพบว่าระบบของฉันตอบสนองได้เร็วขึ้นเมื่อฉันใช้ cfq

หากต้องการดูกำหนดการที่คุณใช้งานอยู่ให้ใช้คำสั่ง

cat /sys/class/block/sda/queue/scheduler    

หากต้องการเปลี่ยนแปลงเพียงครั้งเดียว (จนกระทั่งรีบูต) ออกคำสั่ง

echo cfq | sudo tee /sys/class/block/sda/queue/scheduler

โปรดทราบว่าสิ่งสำคัญคือการเปลี่ยนแปลงที่เกิดขึ้นกับฮาร์ดไดรฟ์ภายนอก ฉันมักจะโหลดขึ้นเป็น sdb ดังนั้นฉันจะออกคำสั่งecho cfq | sudo tee /sys/class/block/sdb/queue/scheduler

ฉันทำการเปลี่ยนแปลงถาวรสำหรับไดรฟ์ทั้งหมดที่เชื่อมต่อกับคอมพิวเตอร์ของฉันโดยเพิ่มพารามิเตอร์เคอร์เนลelevator=cfqในไฟล์ด้วงซึ่งมีลักษณะดังนี้:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash noautogroup elevator=cfq"

ว้าวสิ่งนี้ใช้ได้ผล ขอบคุณ! ขณะนี้ระบบของฉันตอบสนองได้ดีกว่าในขณะที่ถ่ายโอนข้อมูลและเร็วกว่าในการโหลดสิ่งต่าง ๆ โดยรวม
Degru

ดีใจที่ได้ยินมันช่วย
ชาร์ลส์กรีน

1
> ตามค่าเริ่มต้น Ubuntu ใช้กำหนดเวลา แต่ฉันพบว่าระบบของฉันตอบสนองได้เร็วขึ้นเมื่อฉันใช้กำหนดเวลา ฉันสงสัยว่าคุณต้องการให้วลีนี้ลงท้ายด้วย '... เมื่อฉันใช้ cfq'
markus_b

ฉันไม่เคยมองหาวิธีแก้ปัญหานี้ด้วยเหตุผลใดก็ตาม ฉัน upvoted คำตอบนี้เมื่อมีการโพสต์เมื่อหลายวันที่ผ่านมาตอนนี้ฉันมีโอกาสทดสอบ (ฉันต้องย้ายtorrents จำนวนมากจาก Deluge กลับไปที่ Transmission ซึ่งต้องตรวจสอบทุก ๆ ครั้งเดียว torrent) และการเปลี่ยนกำหนดการเป็นจริง การปรับปรุง ระบบยังคงทำงานหนักโดยเฉพาะอย่างยิ่งเมื่อเปลี่ยนพื้นที่ทำงาน แต่แน่นอนว่ามันไม่ได้หยุดทำงานอย่างที่เคยทำ ขอบคุณ! คำตอบนี้มีประโยชน์มากที่ IMO สมควรได้รับรางวัล (และฉันกำลังตั้งค่าไว้)
kos

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