Valdis Kletnieks | 73af994 | 2006-04-19 09:23:09 +0200 | [diff] [blame] | 1 | As of the Linux 2.6.10 kernel, it is now possible to change the |
| 2 | IO scheduler for a given block device on the fly (thus making it possible, |
| 3 | for instance, to set the CFQ scheduler for the system default, but |
| 4 | set a specific device to use the anticipatory or noop schedulers - which |
| 5 | can improve that device's throughput). |
| 6 | |
| 7 | To set a specific scheduler, simply do this: |
| 8 | |
| 9 | echo SCHEDNAME > /sys/block/DEV/queue/scheduler |
| 10 | |
| 11 | where SCHEDNAME is the name of a defined IO scheduler, and DEV is the |
| 12 | device name (hda, hdb, sga, or whatever you happen to have). |
| 13 | |
| 14 | The list of defined schedulers can be found by simply doing |
| 15 | a "cat /sys/block/DEV/queue/scheduler" - the list of valid names |
| 16 | will be displayed, with the currently selected scheduler in brackets: |
| 17 | |
| 18 | # cat /sys/block/hda/queue/scheduler |
| 19 | noop anticipatory deadline [cfq] |
| 20 | # echo anticipatory > /sys/block/hda/queue/scheduler |
| 21 | # cat /sys/block/hda/queue/scheduler |
| 22 | noop [anticipatory] deadline cfq |