]>
Commit | Line | Data |
---|---|---|
23c76983 | 1 | To choose IO schedulers at boot time, use the argument 'elevator=deadline'. |
b3196681 WSH |
2 | 'noop' and 'cfq' (the default) are also available. IO schedulers are assigned |
3 | globally at boot time only presently. | |
23c76983 AB |
4 | |
5 | Each io queue has a set of io scheduler tunables associated with it. These | |
6 | tunables control how the io scheduler works. You can find these entries | |
7 | in: | |
8 | ||
9 | /sys/block/<device>/queue/iosched | |
10 | ||
11 | assuming that you have sysfs mounted on /sys. If you don't have sysfs mounted, | |
12 | you can do so by typing: | |
13 | ||
14 | # mount none /sys -t sysfs | |
15 | ||
8614b008 AH |
16 | It is possible to change the IO scheduler for a given block device on |
17 | the fly to select one of mq-deadline, none, bfq, or kyber schedulers - | |
18 | which can improve that device's throughput. | |
73af994c VK |
19 | |
20 | To set a specific scheduler, simply do this: | |
21 | ||
22 | echo SCHEDNAME > /sys/block/DEV/queue/scheduler | |
23 | ||
24 | where SCHEDNAME is the name of a defined IO scheduler, and DEV is the | |
25 | device name (hda, hdb, sga, or whatever you happen to have). | |
26 | ||
27 | The list of defined schedulers can be found by simply doing | |
28 | a "cat /sys/block/DEV/queue/scheduler" - the list of valid names | |
29 | will be displayed, with the currently selected scheduler in brackets: | |
30 | ||
8614b008 AH |
31 | # cat /sys/block/sda/queue/scheduler |
32 | [mq-deadline] kyber bfq none | |
33 | # echo none >/sys/block/sda/queue/scheduler | |
34 | # cat /sys/block/sda/queue/scheduler | |
35 | [none] mq-deadline kyber bfq |