Change default IO scheduler on virtual machine or SSD drive servers

By default CentOS/RHEL distribution of Linux use CFQ scheduler. Even few years ago most servers configuration were based on HDD drives system. But, now we have tremendous changes in IO subsystem: SSD drives became more affordable and stable in other hand we have huge variety of Virtual Infrastructures and Cloud implementations. That’s way we can and have to tune kernel behavior in more efficient way to use server hardware.

First of all, you have to find out what IO scheduler kernel is using for storage device:

Please run: find / -iname “scheduler”

Results:

Ok, we have sda device. You can confirm it by: blkid command or fdisk -l

Find out what IO scheduler is using:

Temporary IO scheduler changes:

I’m using NOOP IO scheduler for Virtual Machines and SSD drives.

Permanent settings can be configured in /boot/grub/grub.conf by additional kernel line parameter elevator=io scheduler

For example:

Author: GergunD

Leave a Reply