Verifying the Disk I/O Scheduler on Linux
For best performance for Oracle ASM, Oracle recommends that you use the Deadline I/O Scheduler.
# cat /sys/block/${ASM_DISK}/queue/scheduler
noop [deadline] cfq
In this example, the default disk I/O scheduler is Deadline and ASM_DISK
is the Oracle Automatic Storage Management (Oracle ASM) disk device.
On some virtual environments (VM) and special devices such as fast storage devices, the output of the above command may be none
. The operating system or VM bypasses the kernel I/O scheduling and submits all I/O requests directly to the device. Do not change the I/O Scheduler settings on such environments.
If the default disk I/O scheduler is not Deadline, then set it using a rules file:
-
Using a text editor, create a UDEV rules file for the Oracle ASM devices:
# vi /etc/udev/rules.d/60-oracle-schedulers.rules
-
Add the following line to the rules file and save it:
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"
-
On clustered systems, copy the rules file to all other nodes on the cluster. For example:
$ scp 60-oracle-schedulers.rules root@node2:/etc/udev/rules.d/
-
Load the rules file and restart the UDEV service. For example:
-
Oracle Linux and Red Hat Enterprise Linux
# udevadm control --reload-rules
-
SUSE Linux Enterprise Server
# /etc/init.d boot.udev restart
-
-
Verify that the disk I/O scheduler is set as Deadline.