You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.4 KiB
37 lines
1.4 KiB
To choose IO schedulers at boot time, use the argument 'elevator=deadline'. |
|
'noop' and 'cfq' (the default) are also available. IO schedulers are assigned |
|
globally at boot time only presently. |
|
|
|
Each io queue has a set of io scheduler tunables associated with it. These |
|
tunables control how the io scheduler works. You can find these entries |
|
in: |
|
|
|
/sys/block/<device>/queue/iosched |
|
|
|
assuming that you have sysfs mounted on /sys. If you don't have sysfs mounted, |
|
you can do so by typing: |
|
|
|
# mount none /sys -t sysfs |
|
|
|
As of the Linux 2.6.10 kernel, it is now possible to change the |
|
IO scheduler for a given block device on the fly (thus making it possible, |
|
for instance, to set the CFQ scheduler for the system default, but |
|
set a specific device to use the deadline or noop schedulers - which |
|
can improve that device's throughput). |
|
|
|
To set a specific scheduler, simply do this: |
|
|
|
echo SCHEDNAME > /sys/block/DEV/queue/scheduler |
|
|
|
where SCHEDNAME is the name of a defined IO scheduler, and DEV is the |
|
device name (hda, hdb, sga, or whatever you happen to have). |
|
|
|
The list of defined schedulers can be found by simply doing |
|
a "cat /sys/block/DEV/queue/scheduler" - the list of valid names |
|
will be displayed, with the currently selected scheduler in brackets: |
|
|
|
# cat /sys/block/hda/queue/scheduler |
|
noop deadline [cfq] |
|
# echo deadline > /sys/block/hda/queue/scheduler |
|
# cat /sys/block/hda/queue/scheduler |
|
noop [deadline] cfq
|
|
|