1251881Speter=================== 2251881SpeterSwitching Scheduler 3251881Speter=================== 4251881Speter 5251881SpeterEach io queue has a set of io scheduler tunables associated with it. These 6251881Spetertunables control how the io scheduler works. You can find these entries 7251881Speterin:: 8251881Speter 9251881Speter /sys/block/<device>/queue/iosched 10251881Speter 11251881Speterassuming that you have sysfs mounted on /sys. If you don't have sysfs mounted, 12251881Speteryou can do so by typing:: 13251881Speter 14251881Speter # mount none /sys -t sysfs 15251881Speter 16251881SpeterIt is possible to change the IO scheduler for a given block device on 17251881Speterthe fly to select one of mq-deadline, none, bfq, or kyber schedulers - 18251881Speterwhich can improve that device's throughput. 19251881Speter 20251881SpeterTo set a specific scheduler, simply do this:: 21251881Speter 22251881Speter echo SCHEDNAME > /sys/block/DEV/queue/scheduler 23251881Speter 24251881Speterwhere SCHEDNAME is the name of a defined IO scheduler, and DEV is the 25251881Speterdevice name (hda, hdb, sga, or whatever you happen to have). 26251881Speter 27251881SpeterThe list of defined schedulers can be found by simply doing 28251881Spetera "cat /sys/block/DEV/queue/scheduler" - the list of valid names 29251881Speterwill be displayed, with the currently selected scheduler in brackets:: 30251881Speter 31251881Speter # cat /sys/block/sda/queue/scheduler 32251881Speter [mq-deadline] kyber bfq none 33251881Speter # echo none >/sys/block/sda/queue/scheduler 34251881Speter # cat /sys/block/sda/queue/scheduler 35251881Speter [none] mq-deadline kyber bfq 36251881Speter