หมายเหตุ: วิธีนี้ใช้ได้กับ cfq scheduler เท่านั้นดังอธิบายในที่นี้ คุณควรตรวจสอบว่าจะใช้อันไหนโดยการออก
cat /sys/block/sda/queue/scheduler
และเปลี่ยนหากจำเป็น
ถ้าฉันเข้าใจถูกต้องคุณต้องใช้ionice
การตั้งค่าบางอย่างทุกครั้งที่คุณเริ่มคำสั่ง คุณสามารถทำได้ด้วยวิธีนี้:
echo 'ionice -c 3 /usr/bin/VirtualBox "$@"' > VirtualBox
chmod a+x VirtualBox
sudo mv VirtualBox /usr/local/bin/
คำสั่งแรกสร้างไฟล์ที่VirtualBox
มีข้อความที่ยกมาเดี่ยวเป็นเนื้อหาของมัน สิ่งนี้ควรมีเส้นทางแบบเต็มไปยังโปรแกรมเพราะถ้ามีเพียงระบุVirtualBox
ว่าสามารถแปลมันเป็นไฟล์ที่เราเพิ่งสร้างและสร้าง "วน"
คำสั่งที่สองทำให้สามารถเรียกใช้งานได้และอันดับที่สามย้ายไฟล์ใหม่นี้ในโฟลเดอร์ซึ่งอยู่ด้านหน้าโฟลเดอร์ "bin" bin /usr/bin
ดังนั้นไฟล์ใหม่ของเราจะถูกเรียกใช้งานแทนที่จะเป็นไฟล์ดั้งเดิม ส่วน "$ @" มีอาร์กิวเมนต์ทั้งหมดที่คำสั่งถูกเรียกด้วยดังนั้นพวกเขาจะถูกส่งต่อไปยังคำสั่ง VirtualBox จริง
ตามคำตอบ ("ใช่") สำหรับคำถามผู้ใช้ขั้นสูงเด็ก ๆ จะประมวลผลลำดับความสำคัญของไอนิซจากพ่อแม่หรือไม่? คุณจะตรวจสอบลำดับความสำคัญของ IO ของกระบวนการทำงานได้อย่างไร มันควรจะเพียงพอสำหรับionice
กระบวนการพาเรนต์เช่นนี้:
ionice -c 3 VirtualBox
จากionice
man page , การติดตามค่าคลาส I / O การติดตามมีอยู่:
- 0 ไม่มีเลย
- 1 สำหรับเรียลไทม์
- 2 เพื่อความพยายามอย่างดีที่สุด
- 3 สำหรับว่าง (ใช้ในตัวอย่างด้านบน)
สามารถใช้หมายเลขหรือชื่อคลาสได้
นอกจากนี้ยังมี-n level
ตัวเลือกสำหรับคลาสเรียลไทม์และความพยายามที่ดีที่สุดโดยมี 0-7 เป็นข้อมูลที่ถูกต้อง (ระดับความสำคัญ)