Please enter search query.
Search <product_name> all support & community content...
Article: 100029880
Last Published: 2015-01-19
Ratings: 0 0
Product(s): NetBackup & Alta Data Protection
Problem
Kernel parameter AIXTHREAD_SCOPE=S is recommended on AIX to prevent potential process deadlocks.Solution
For AIX systems:
The default threading model on AIX is process contention scope. Under process contention scope there is an M:N mapping of user threads to kernel threads. User threads share their kernel thread with other user threads. This may cause threaded applications to "hang" or experience a deadlock.
The recommended threading model to resolve these issues is system contention scope. Under system contention scope there is a 1:1 mapping of user threads to kernel threads. User threads have a dedicated kernel thread that is not used by any other user threads and thread scheduling is handled in the kernel.
The many-to-one or one-to-one thread relationship is set via the AIXTHREAD_SCOPE kernel parameter.
The IBM Thread Tuning section of the Performance Management Guide provides more information on the two threading models and can be found at the following link:
https://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixbman/prftungd/2365c35.htm
To check if AIXTHREAD_SCOPE has been set, create a script containing the following lines:
Execute the script from the command line.
If the result from the above script is
To set the AIXTHREAD_SCOPE kernel parameter:
Add the
Additional information on AIXTHREAD_SCOPE may be obtained at IBM Website:
https://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.prftungd/doc/prftungd/thread_supp_tun_params.htm
The default threading model on AIX is process contention scope. Under process contention scope there is an M:N mapping of user threads to kernel threads. User threads share their kernel thread with other user threads. This may cause threaded applications to "hang" or experience a deadlock.
The recommended threading model to resolve these issues is system contention scope. Under system contention scope there is a 1:1 mapping of user threads to kernel threads. User threads have a dedicated kernel thread that is not used by any other user threads and thread scheduling is handled in the kernel.
The many-to-one or one-to-one thread relationship is set via the AIXTHREAD_SCOPE kernel parameter.
The IBM Thread Tuning section of the Performance Management Guide provides more information on the two threading models and can be found at the following link:
https://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixbman/prftungd/2365c35.htm
To check if AIXTHREAD_SCOPE has been set, create a script containing the following lines:
if /usr/bin/test $AIXTHREAD_SCOPE
then
if [ $AIXTHREAD_SCOPE = "S" ]
then
/usr/bin/echo AIXTHREAD_SCOPEGood
else
/usr/bin/echo AIXTHREAD_SCOPEBad
fi
else
/usr/bin/echo AIXTHREADNotSet
fi
Execute the script from the command line.
If the result from the above script is
AIXTHREAD_SCOPEGood
, then
AIXTHREAD_SCOPE is set to
S which is system contention scope, and no changes are necessary. If the result is either
AIXTHREAD_SCOPEBad
or
AIXTHREADNotSet
, then set the
AIXTHREAD_SCOPE to
S.
To set the AIXTHREAD_SCOPE kernel parameter:
Add the
AIXTHREAD_SCOPE=S
command to the
/etc/environment file. This affects all applications running on the box.
Additional information on AIXTHREAD_SCOPE may be obtained at IBM Website:
https://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.prftungd/doc/prftungd/thread_supp_tun_params.htm