2007-01-11

CPU-bound threads in AIX

Sometimes a DLPAR CPU remove operation fails because one or more threads are bound to a logical CPU ("0930-033 Resource 0x2 is busy and cannot be released"). The command
ps -mefo bnd,pid,args
will show each thread and the logical CPU it is bound to, if applicable (first column of output). For example:
- 1044680 db2fmp (C) 0
- - -
3 - -
- - -
3 - -
If the thread PID is '-', look up the first numeric PID above — this is the parent process. In this example, PID 1044680 has 4 child threads, two of which are bound to logical CPU 3. If a DLPAR operation tried to reduce the number of logical CPUs to less than 3, it would fail with error 0930-033. To unbind these threads, use the 'bindprocessor -u' command on the parent PID:
bindprocessor -u 1044680
Now the DLPAR operation should work.

Labels: