I/O Scheduler สำหรับ Hard disk หรือพวก block device จะมีอยู่ด้วยกัน 4 แบบกัน คือ anticipatory, noop, deadline และ CFQ และส่วนมาก default ของ I/O Scheduler ที่ถูกเลือก คือ CFQ

สำหรับวิธีการเปลี่ยนค่า I/O Scheduler สามารถทำได้ดังนี้

echo SCHEDNAME > /sys/block/DEV/queue/scheduler

ซึ่ง SCHEDNAME คือชื่อของ scheduling algorithm (anticipatory, noop, deadline และ CFQ)  และ DEV คือ ชื่อของ device เช่น sda, sdb, sdc เป็นต้น

ตัวอย่างการเปลี่ยน I/O Scheduler โดยสมมติว่าจะต้องการเปลี่ยนที่ device sda จาก cfq เป็น anticipatory

  1. ดู I/O Scheduler ว่าตอนนี้เป็น I/O Scheduler ตัวไหน
    # cat /sys/block/sda/queue/scheduler
    noop anticipatory deadline [cfq]
  2. เปลี่ยน I/O Scheduler จาก cfq เป็น anticipatory
    # echo anticipatory > /sys/block/sda/queue/scheduler
  3. ตรวจสอบดูว่าระบบได้เปลี่ยน I/O Scheduler เป็น anticipatory แล้วหรือยัง
    # cat /sys/block/sda/queue/scheduler
    noop [anticipatory] deadline cfq

ถ้าต้องการให้เมื่อเวลา reboot หรือเปิดเครื่องใหม่ให้เลือก I/O Scheduler ที่ต้องการก็ให้ใส่ข้อคส่มด้านล่างนี้ในไฟล์ /etc/rc.local

echo SCHEDNAME > /sys/block/DEV/queue/scheduler

หรือกำหนดที่ grub.conf โดยเติม elevator=SCHEDNAME ต่อท้ายในบรรทัดของ kernel ตัวอย่างเช่น กำหนดให้ใช้ I/O Scheduler เป็น deadline

title CentOS (2.6.xx-xx.x.elx.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.xx-xx.x.elx.x86_64 ro root=UUID=1c83-4e9a-82e7-a529f8 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM elevator=deadline
initrd /initramfs-2.6.xx-xx.x.elx.x86_64.img

ข้อมูลเพิ่มเติมของ I/O scheduler สามารถดูได้ที่ /usr/share/doc/kernel-*/Documentation/block.