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.

Leave a Reply