
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=vg00/lvroot rhgb quiet elevator=noop" To make the changes persistent through boot you have to add elevator=noop to GRUB_CMDLINE_LINUX in /etc/default/grub as shown below.
The default scheduler in later Red Hat Enterprise Linux 7 versions (7.5 and later) is deadline. More information on creating a custom tuned profile can be found in solution 1305833Ĭonfiguring the I/O scheduler on Red Hat Enterprise Linux 7 A custom tuned profile can also be used to specify the elevator. The available tuned profiles use the deadline elevator. The default scheduler in Red Hat Enterprise Linux 4, 5 and 6 is CFQ. Kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/vg0/lv0 elevator=noop Title Red Hat Enterprise Linux Server (2.6.18-8.el5) In the following example nf stanza, the system has been configured to use the noop scheduler: # cat /boot/grub/nf The I/O scheduler can be selected at boot time using the elevator kernel parameter. On the other hand, depending on the workload, it can also be beneficial to use a scheduler like deadline in the guest.Īll scheduler tuning should be tested under normal operating conditions, as synthetic benchmarks typically do not accurately compare performance of systems using shared resources in virtual environments.Ĭonfiguring the I/O scheduler on Red Hat Enterprise Linux 4, 5 and 6 If multiple guests use storage on a filesystem or block device managed by the host operating system, the host will likely schedule I/O more efficiently because it is aware of requests from all guests and knows the physical layout of storage, which may not map linearly to the guests' virtual storage. In virtualized environments, it is not advantageous to schedule I/O at both the guest and hypervisor layers. The host/hypervisor will have an overview of the requests of all guests and have a separate strategy for handling I/O. The noop scheduler can still combine small requests from the guest OS into larger requests before handing the I/O to the hypervisor, however noop follows the idea to spend as few CPU cycles as possible in the guest for I/O scheduling. It allows the host/hypervisor to optimize the I/O requests and prioritize based on it's view on the I/O from one or multiple guests. If the hypervisor is known to do own I/O scheduling, then guests often benefit greatly from the noop I/O scheduler. Only the guest can do I/O scheduling in such configurations. If iSCSI, SR-IOV or physical device pass-through are used in guests, then the noop scheduler should not be used, since these methods do not allow the host to optimize I/O requests to the underlying physical device. If plain disks are used in the guest: Depending on the disk presentation (Virtual Disk vs Raw Device Mapping (RDM)) and I/O workload, schedulers like deadline should be considered more tightly.
Performance testing is recommended to verify which scheduler is the most advantageous. This should not hint at deadline providing more performance in average environments than noop: as per explanations in this document, the specifics of the environment and workloads are relevant and testing should be done.īased on the environment and the goal of the optimizations, the following are common starting points for configurations. The scheduler deployed by default in new RHEL installations in virtual guests has changed over time, since RHEL7.5 the deadline scheduler is used, in older versions none.
There is no single recommendation which applies to all situations. Red Hat Enterprise Linux as a virtualization guest (any hypervisor technology) The deadline is also the scheduler used by the tuned profile virtual-host.
If, however, minimizing I/O latency is more important than maximizing I/O throughput on the guest workloads, it may be beneficial to use the deadline scheduler. This scheduler performs well on nearly all workloads. When using RHEL as a host for virtualized guests, the default cfq scheduler is usually ideal. Resolution Red Hat Enterprise Linux as a virtualization host (Xen, KVM or VMware) What is the recommended I/O scheduler for Red Hat Enterprise Linux 4-7 as a virtualization host?. Virtualization guest or virtualization host. Red Hat Enterprise Linux (RHEL) 4, 5, 6 or 7. View matching systems and remediation Environment Proactively detect and remediate issues impacting your systems.