Linux 非同步 I/O (AIO)是 Linux 核心中提供的一個增強的功能。它是Linux 2.6 版本核心的一個標準特性,AIO 背後的基本想法是允許進程發起很多 I/O 操作,而不會阻塞或等待任何操作完成。稍後或在接收 I/O 操作完成的通知時,進程就可以擷取 I/O 操作的結果。
同步IO:執行緒啟動一個IO操作然後就立即進入等待狀態,直到IO操作完成後才醒來繼續執行。
非同步IO:執行緒發送一個IO請求到內核,然後繼續處理其他的事情,核心完成IO請求後,將會通知執行緒IO操作完成
1、--查看系統是否使用非同步IO 。 slab是Linux的記憶體分配器,AIO相關的記憶體結構已經分配。
more /proc/slabinfo |grep kio [root@localhost ~]# grep kio /proc/slabinfo kioctx 0 0 384 10 1 : tunables 54 27 0 : slabdata 0 0 0 kiocb 0 0 256 15 1 : tunables 120 60 0 : slabdata 0 0 0
看到kiocb行顯示為0,表示非同步IO沒有啟動。
2、 查看資料庫是否開啟非同步io
(11G)SYS@qixindb> show parameter disk_asynch_io NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ disk_asynch_io boolean TRUE (11G)SYS@qixindb> show parameter filesystem NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ filesystemio_options string none
filesystemio_options 的四种值: ASYNCH: enable asynchronous I/O on file system files, which has no timing requirement for transmission. 在文件系统文件上启用异步I/O,在数据传送上没有计时要求。 DIRECTIO: enable direct I/O on file system files, which bypasses the buffer cache. 在文件系统文件上启用直接I/O,绕过buffer cache。 SETALL: enable both asynchronous and direct I/O on file system files. 在文件系统文件上启用异步和直接I/O。 NONE: disable both asynchronous and direct I/O on file system files. 在文件系统文件上禁用异步和直接I/O。
3、oracle已經連結了aio的套件
[oracle@localhost ~]$ /usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaio libaio.so.1 => /lib64/libaio.so.1 (0x0000003e13000000)
說明:檢查顯示oracle已經連結了aio的套件
4、調整資料庫參數開啟aio
資料庫中的filesystemio_options參數設定為none,看來oracle中也沒有配置非同步IO,
這裡可以將資料庫中的filesystemio_options參數調整為setall;
SQL> alter system set filesystemio_options = setall scope=spfile; SQL> alter system set disk_asynch_io = true scope=spfile; SQL> shutdown immediate; SQL> startup;
5、查看aio是否生效
[oracle@localhost ~]$ more /proc/slabinfo |grep kio kioctx 130 160 384 10 1 : tunables 54 27 8 : slabdata 16 16 0 kiocb 16 30 256 15 1 : tunables 120 60 8 : slabdata 2 2 1
補充:出現free buffer waits 等待事件或io不給力的時候,可以考慮開啟aio。
以上是Oracle中AIO解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!