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
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)
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)