ปกติเรามักใช้คำสั่ง nice เพื่อลด/หรือเพิ่มความสำคัญ ของการใช้งาน CPU ให้กับ process หนึ่งๆ ได้ แต่คำสั่ง nice ใช้ได้ผลเฉพาะกับ CPU เท่านั้น
แต่กับ process ที่กิน disk มากๆ และทำงานนานๆ เช่นการแบคอัพข้อมูล คำสั่ง nice แทบจะไม่มีผล เพราะ process ดังกล่าวใช้งาน IO เป็นหลัก
ขอแนะนำคำสั่ง ionice ครับ จะมีผลคล้ายกับคำสั่ง nice แต่จะควบคุมการให้ priority ของ IO กับ process หนึ่งๆ แทน
รูปแบบ
[color=“#222222”][font=“arial, sans-serif”]
ionice usage
If no arguments or just -p is given, ionice will query the current io scheduling class and priority for that process.
ionice [-c] [-n] [-p] [COMMAND [ARG…]][list][]-c - The scheduling class. 1 for real time, 2 for best-effort, 3 for idle.[]-n - The scheduling class data. This defines the class data, if the class accepts an argument. For real time and best-effort, 0-7 is valid data.[*]-p - Pass in a process pid to change an already running process. If this argument is not given, ionice will run the listed program with the given parameters.[/list][/font][/color]
คำเตือน ไม่ควรใช้
ionice -c1 -pPID
กับ process ที่ต้องทำงานนานๆ นะครับ อาจทำให้ระบบแน่นิ่งไปได้
นอกจากนี้ ควรทราบว่า ionice ใช้ได้เฉพาะใน Linux ที่ใช้ CFQ เป็น scheduler เท่านั้น เช่นพวกตระกูล RedHat หรือ CentOS
ตรวจสอบว่า Linux ของคุณใช้ scheduler ตัวไหนแบบนี้ครับ
cat /sys/block/[sh]d[a-z]*/queue/scheduler
อ่านเพิ่มเติม http://goo.gl/a6zCU