It is the current maximum of asynchronous I/O requests that can be either waiting to be processed or are currently processed.
There is an explicit ORA error message (I forgot the error code) that can be searched on Metalink or in Oracle documentation, that points that this threshold has been hit and should be raised.
Usually on older versions of AIX this is per default 4096, I think from AIX 6 on it is 16384.
It is definetly a parameter that could and should be set to a higher values. That is why they have set the default value in AIX 6 to a 4 times higher value.
Asynchronous I/O report
The asynchronous I/O report has the following column headers :
avgc
Average global AIO request count per second for the specified interval.
avfc
Average fastpath request count per second for the specified interval.
maxgc
Maximum global AIO request count since the last time this value was fetched.
maxfc
Maximum fastpath request count since the last time this value was fetched.
maxreqs
Maximum AIO requests allowed.
I agree with zaxxon - this is the very well known ora600 error When we were running into it, IBM recommended to set the value on all our 5.3 servers to 65536 - we did it and never faced that error again
Does it mean currently there is no AIO request processing as "avgc" is 0 ? May be i am interpreting wrongly. I would like to observe current aio request processed by maxreqs
Right, there is no AIO requests at the time this is taken. Is your AIO enabled? Is the DB actually up and running, having traffic?
lsdev -C| grep aio
aio0 Available Asynchronous I/O (Legacy)
posix_aio0 Available Posix Asynchronous I/O
AIX offers two AIO subsystems, Legacy AIO (aio0) and Posix AIO (posix_aio0). Oracle uses Legacy AIO which is represented by the device aio0. But I found a note here: Administering Oracle Database on AIX
As you said you are using Oracle 9.1 so maybe it will try to use posix_aio0. The tuning tips so far were considering aio0 so you might have to tune posix_aio0 as well. Anyway it seems currently is no AIO traffic there anyway.
make sure that you are allowing oracle to really use async io by checking that
disk_async_io = true and filesystemio_options = async or setall
BTW - oracle recommends that you either systemwide (/etc/environment) or at least in the oracle profile set AIXTHREAD_SCOPE=S - what will reduce the memory utilization of oracle processes a lot.
Just to add some info to zxmaus' - those 2 commands show the number off current running AIO-servers (legacy I think). It does not necessary mean that they are being used at the moment. Once started from a peak of workload for example, they stay running until a reboot.
To see how many are currently running, you can use nmon. When starting it interactively, you can press a+shift and get something like:
Asynchronous-I/O-Processes
Total AIO processes=1100 Actually in use= 35 CPU used= 15.7% [Use zero
All time peak=1100 Recent peak= 44 Peak= 15.7% to reset]
For the number of current AIO-requests, iostat -A will show as written (don't know another way tbh^^).