AIX_timeout_thread using lot of cpu time

Hi,

i am seeing some strange things on a lpar which we have at this moment.
With nmon i see a process aix_timeout_thread which is using lots of cpu (70-80%, all cpu which is "free" is used). This is a kernel process (for as far i can find out) but i am wondering what is causing this to happen and what this process is used for. We have a second partition (setup as a load balanced environment) with the same setup, but no problems with aix_timeout_thread can be seen on that one.
Partition is running aix 5.3, edge 7.0.0.24 and has been moved to P770 (from P595) half a year ago.

In the morning we are going to stop and start the application to see if the process will still be active.

Anyone has an idea or have seen a similar problem?

Regards,

vincent

Any process/lwp/concurrent thread can waste CPU cycles if the author does not bother/cannot afford to sleep(). Non-concurrent threads can just yield() to each other in rotation when all are waiting for some flag or other. You can peek at the system calls it is making using truss.

Thank you for the reply DGPickett but truss doesn't work for this process. I think that truss is not possible for this specific kernel process. I receive the message:

truss: 0915-023 Cannot control process #458894

Perhaps it's more of a symptom than a cause. It may be involved in controlling user threads.

This morning we stopped and started the application Edge..... The process aix_timeout_thread was also stopped and started during the stop and start of the application. Now the cpu utilization is back to normal so it looks like it was an internal application problem, not related to AIX.
Thanks to all,

Vincent

1 Like

Are you using truss as root or the process owner? I have been denied calls but not so much processes ever I recall. Sometimes I had to truss earlier, like:

(sleep 2 ; exec app app_args)& truss . . . -p $!

This starts the truss during sleep 2 and shows the entire app startup,

I recall once a developer added some check to the idle loop of the X windows, to minimize A if child B was minimized and vice versa. It turned the app into a 100% cpu pig, rechecking constantly. I added a 'poll(0,0,50)' and it was fine, gave back the CPU (50 milliseconds is a blink of the eye). What do your threads do when idle?