Hi,
Following VMware recommendations on how to change linux I/O scheduler for guests, I'm trying to do it on my OMV VM machine running Debian Wheezy.
First, lets check which I/O scheduler is configured:
As we can see above for device /dev/sda, the CFQ (Completely Fair Queueing) is the default scheduler that's being used, the one selected in brackets. Since the recommendation for VMware Virtual Machines is to change the scheduler to "noop" (as the hypervisor has its I/O scheduler), we can change it on the fly:
$ echo noop > /sys/block/sda/queue/scheduler
$ cat /sys/block/sda/queue/scheduler
[noop] deadline cfq
This change is only temporary and will reset back to the default scheduler, CFQ in this case, when the machine reboots. To make the setting permanently, I've tried to change the grub configuration file by editing /etc/default/grub and add "elevator=noop" setting to GRUB_CMDLINE_LINUX_DEFAULT parameter, like below :
$ vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop quiet"
$ update-grub2
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.16.0-0.bpo.4-amd64
Found initrd image: /boot/initrd.img-3.16.0-0.bpo.4-amd64
Found linux image: /boot/vmlinuz-3.2.0-4-amd64
Found initrd image: /boot/initrd.img-3.2.0-4-amd64
done
Alles anzeigen
I could check that the new setting was added to /boot/grub/grub.cfg:
$ grep noop /boot/grub/grub.cfg
linux /boot/vmlinuz-3.16.0-0.bpo.4-amd64 root=UUID=1b9bcd41-d527-487d-ac30-3820137d8eea ro elevator=noop quiet
linux /boot/vmlinuz-3.2.0-4-amd64 root=UUID=1b9bcd41-d527-487d-ac30-3820137d8eea ro elevator=noop quiet
The problem is that after system restart, the CFQ I/O scheduler is still active for /dev/sda:
I've done the same configuration on Ubuntu Server 14.04 and CentOS 7 and everything worked fine after boot.
Am I missing something?
Thanks.