Enable asynchronous i/o in Linux
Check whether AIO packages had been installed or not
rpm -qa|grep aio
libaio-devel-0.3.107-10.el6.i686
libaio-0.3.107-10.el6.x86_64
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6.x86_64
Confirm whether aio packages had been loaded or not when databaae linking.
$/usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio
libaio.so.1 => /lib64/libaio.so.1 (0x0000003b03000000)
If you haven’t seen aio package, this indicate that oracle didn’t linked aio,
so you should re operate executable file of oracle. the method of the version after 10g.
make PL_ORALIBS=-laio -f ins_rdbms.mk async_on
Asynchronous i/o feather has been enabled in parameter of database
SQL> show parameter disk_asynch_io
NAME TYPE VALUE
———————————— ———– ——————————
disk_asynch_io boolean TRUE
SQL> show parameter filesystemio_options
NAME TYPE VALUE
———————————— ———– ——————————
filesystemio_options string SETALL
There are 4 options in filesystemio_options
ASYNCH enable asynchronous I/O on file system files, which has no
timing requirement for transmission.
DIRECTIO: enable direct I/O on file system files, which bypasses the buffer cache.
SETALL: enable both asynchronous and direct I/O on file system files.
NONE: disable both asynchronous and direct I/O on file system files.
Edit /etc/sysctl.conf
fs.aio-max-nr = 1048576
Check whether asynchronous i/o feather has been used.
cat /proc/slabinfo | grep kio
kioctx 572 750 384 10 1 : tunables 54 27 8 : slabdata 75 75 0
kiocb 233 405 256 15 1 : tunables 120 60 8 : slabdata 22 27 63
If the value of column 2 and 3 of kiocb is not 0,this indicate asynchronous i/o feature has been
used.