Linuxで非同期I / Oを有効にする
AIOパッケージがインストールされているかどうかを確認します
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
databaaeリンク時にaioパッケージがロードされているかどうかを確認します.
$/usr / bin / ldd $ ORACLE_HOME / bin / oracle | grep libaio
libaio.so.1 => /lib64 / libaio.so.1 (0x0000003b03000000)
aioパッケージを見たことがない場合, これは、オラクルがaioをリンクしなかったことを示しています,
したがって、oracleの実行可能ファイルを再操作する必要があります. 10g以降のバージョンの方法.
PL_ORALIBS = -laio -f ins_rdbms.mkasync_onを作成します
データベースのパラメータで非同期I / Oフェザーが有効になっています
SQL> パラメータdisk_asynch_ioを表示します
名前タイプ値
———————————— ———– ——————————
disk_asynch_io boolean TRUE
SQL> パラメータfilesystemio_optionsを表示します
名前タイプ値
———————————— ———– ——————————
filesystemio_options文字列SETALL
がある 4 filesystemio_optionsのオプション
ASYNCHは、ファイルシステムファイルで非同期I / Oを有効にします, ない
送信のタイミング要件.
DIRECTIO: ファイルシステムファイルで直接I / Oを有効にする, バッファキャッシュをバイパスします.
SETALL: ファイルシステムファイルで非同期I / Oと直接I / Oの両方を有効にする.
無し: ファイルシステムファイルの非同期I / Oと直接I / Oの両方を無効にする.
/etc/sysctl.confを編集します
fs.aio-max-nr = 1048576
非同期I / Oフェザーが使用されているかどうかを確認します.
cat / proc / slabinfo | grep what
kioctx 572 750 384 10 1 : 調整可能 54 27 8 : 弱点 75 75 0
kiocb 233 405 256 15 1 : 調整可能 120 60 8 : 弱点 22 27 63
列の値が 2 そして 3 kiocbのが0ではない、これは非同期I / O機能が
中古.