Monitoring, Management & Location Tracking

How to modify disk I/O scheduling ?

NOTE: For a more detailed treatment of disk I/O performance please refer to the following Knowledge Base article:

Tips for improving disk I/O performance and scheduling
http://kb.airwave.com/?sid=50140000000aFIe

Disk I/O Scheduling:

To check to see which I/O scheduling algorithm is currently selected:

# cat /sys/block/<BLOCK_DEVICE>/queue/scheduler

Ex.

# cat /sys/block/sda/queue/schedule

The output will look something like this:

noop anticipatory deadline [cfq]

The algorithm in brackets [] is the one currently selected.


Change the algorithm to NOOP:

# echo noop > /sys/block/<BLOCK_DEVICE>/queue/scheduler

Ex.

# echo noop > /sys/block/sda/queue/scheduler

[noop] anticipatory deadline cfq

You should soon begin to see the effects of this change in the Disk I/O graphs on the System > Performance page.


Background:


Both the OS and the disk controller are capable of I/O scheduling. But when multiple disks are combined logically via striping, the OS can't distinguish one physical disk in the stripe from another, it sees only one disk. The controller on the other hand is still aware of the individual disks and can potentially organize I/O more efficiently.

By default the OS is set up to use the Completely Fair Queuing or CFQ algorithm. By selecting the NOOP algorithm --which simply inserts all I/O requests into a FIFO queue, essentially disabling scheduling by the OS-- scheduling is deferred to the disk controller.

For more information on I/O scheduling:

http://en.wikipedia.org/wiki/I/O_scheduling
http://en.wikipedia.org/wiki/Noop_scheduler
http://en.wikipedia.org/wiki/CFQ
http://en.wikipedia.org/wiki/Category:Disk_scheduling_algorithms

Version history
Revision #:
1 of 1
Last update:
‎07-01-2014 02:56 AM
Updated by:
 
Labels (1)
Contributors
Search Airheads
Showing results for 
Search instead for 
Did you mean: 
Is this a frequent problem?

Request an official Aruba knowledge base article to be written by our experts.