Asynchronous Io of Aix requires support from Bos. rte. AIO file sets.
# Lslpp-l bos. rte. AIO
Fileset Level State Description
----------------------------------------------------------------------------
Path:/usr/lib/objrepos
Bos. rte. AIO 5.3.0.62 committed asynchronous I/O Extension
How to enable AIO
-
# Mkdev-l aio0
Aio0 available
# Chdev-P-l aio0-A AutoConfig = 'available'
Aio0 changed
View AIO configuration information
# Lsattr-El aio0
AutoConfig available state to be configured at system restart true
Fastpath enable state of fast path true
Kprocprio 39 server priority true
Maxreqs 4096 maximum number of requests true
Maxservers 10 maximum number of servers per CPU true
Minservers 1 minimum number of servers true
Maxreqs indicates the asynchronous I/O Requests allowed at the same time point, including the asynchronous I/O requests that are already being processed and the asynchronous I/O requests waiting for processing. The maxservers and minservers Parameters specify the number of processes used to process asynchronous Io. The default maxservers = 10 should be sufficient for most systems. These two parameters are for AIO of file systems and so on, while the asynchronous Io of raw devices is directly completed by the kernel process, does not rely on aioserver. AutoConfig must be set to available to automatically activate AIO at next startup.
Run the following command to query the number of current aioserver instances. If the number is reached or close to maxservers, add this parameter.
# Pstat-A | grep AIOS | WC-l
Starting from aix5.2, two modes of AIO are supported, one is traditional and the other is POSIX.
# pstat-A | grep AIO
40 A 28088 1 28088 0 0 1 posix_aioserver
67 a 43002 1 43002 0 0 1 aioserver
oracle on AIX when installing the platform, you must enable AIO, in rootpre. the sh script contains the Code
# asynchronous I/O
echo "processing ing asynchronous I/O... "| tee-A $ log
AIO = 'lsdev-c-t AIO | awk '{print $2}''
case $ AIO in
* available *) echo "asynchronous I/O is already defined" | tee-A $ log
;< br> * defined *) mkdev-l aio0 | tee-A $ log
chdev-P-l aio0-A AutoConfig = 'available'
;< br> *) echo "asynchronous I/O is not installed on this system. ">>$ log
CAT
Asynchronous I/O is not installed on this system.
You will need to install it, and either configure it yourself using
'Smit AIO 'or rerun the oracle root installation procedure.
End
;;
Esac
How to delete AIO
AIO is supported by the kernel. First, change AutoConfig to defined and then restart the system.
# Chdev-P-l aio0-A AutoConfig = 'defined'
If rmdev-DL aio0 is used to completely delete the definition of aio0, the following error may occur when mkdev-l aio0 is used again:
Mkdev: 0514-519 the following device was not found in the customized
Device Configuration database:
Name = 'io0'
In this case, you need to define the device before you can add the device. To define the aio0 device, you can select configure defined asynchronous I/O through Smit AIO.