if you want to see them dead, try to change some parameters in the system ;-)
While this is very true - in fact, the "aio" stands for "Asynchronous I/O" and the processes are controlled by tuning parameters - it is most probably a bad idea to do so on a database system. If memory serves correctly Oracle always requested to have asynchronous I/o switched on during the installation and the performance of the db-writer process greatly suffered when it was switched off.
Anyways, the "aioserver" processes are definitely not reponsible for preventing the unmount of the filesystems, so it won't have any positive effect even if it succeeds (although this, given that they are kernel processes is highly unlikely).
The number, btw., of the main processes is dependent on the number of LCPUs the system has. I suppose your system has 8 CPUs configured and this is why you always see a minimum of 8 processes running.
Already play with ioo,i set for test 1 to posix_aio_server_inactivity
and
aio_server_inactivity
But nothing change
if you want to switch aio off, you have to remove some files such as /usr/lib/drivers/aio.ext, set some restricted tunables such as aio_fastpath, and then reboot the server. But I think, your DBA will be very unhappy about it, and you have to obtain IBM permission to change a restricted tunable.
Location: on the road for work; home is private time
Posts: 456
Thanks Given: 10
Thanked 108 Times in 100 Posts
There are things, other than processes (I am thinking kernel extension, e.g.) that can keep something open.
a) assuming you have an Oracle support license - ask them what their experience is for something like this. Perhaps there is an Oracle kernel extension that neither fuser nor lsof can see and report back to you.
b) same for AIX - open a PMR. Support will probably want a snap, and maybe even a perfpmr to get an impression of details that would be hard to show/discuss in a forum
c) the command ps is probably a poor way to diagnosis this. I suspect all you are shown is the process list in user space - and not the status of the threads that 'work' in kernel space. Note the ps man page lists different possible values for a process and kernel thread
As you have shown us the 'A' value, this implies it is a process - that could do something - but you have not shown us the (kernel) threads.
Note also, that when this column is blank (empty) the process/thread is actually 'running'. In other words, 'Active' != 'Running'
re: aio servers - the processes you see are there - just as minServers controls (i.e., starts) several httpd processes - so that they are already 'active' aka loaded, and ready to be used. Just because an aioserver process exists does not mean it is doing anything - most of the time they are "waiting for work".
The Oracle logs - I would hope - could report whether any i/o (scheduled/requested via aio_read() or aio_write()) is pending. And so, in closing - why AIX is not permitting you to unmount a filesystem previous used (exclusively) by an application probably lies in the application domain.
AIX, as any solid OS would, has built-in safety (one or more) to maintain system integrity. In short, don't blame the messenger.
Note: IF AIX is at fault - forbidding an unmount when everything has been closed cleanly - please please tell us - and make us wiser, - i.e., less gullible/naive, people!
* Ideally, you can replicate this 'locking' situation on a test server. By using /usr/bin/truss with your unmount command (on either test or production) - you may learn at least which system call is reporting an unsafe (not OK) status, and from that you may also be able to establish what error status (see /usr/include/error.h for possible values and meanings).
Last edited by MichaelFelt; 10-23-2015 at 10:50 AM..
Reason: add truss() suggestion.
Hi Gurus,
What is the recommended value for aioserver in aix 5.3
current value is 16384
And used is ps -k|wc -l 4768
We usauslly get issues like slow server performance and query waiting time more etc.
Regards
newaix (2 Replies)
Hi
I've been trying to learn a bit more about AIOServer processes and how my company administers them, one question i have is, while checking, most of my servers show a memory overhead of about 448 k per aioserver process (nmon -A) however i have found a few with figures of 67 or 56k. Most... (0 Replies)