By default, AIX uses System V shared memory in a way that is different from other UNIX platforms. This results in a limit of 10 shared memory segments being attached by a single process.
Under WebSphere MQ Version 5.3, queue managers use the AIX extension EXTSHM, which allows more than 10 segments to be attached by a single process. This helps AIX behave more similarly to other UNIX platforms.
To take full advantage of this facility, we strongly recommend that you set the environment variable on (EXTSHM=ON) in the environment of all WebSphere MQ applications before they start. All WebSphere MQ queue manager processes set this variable for the lifetime of their process if it was not set when the queue manager started.
| Note: | You must set the environment variable before starting the program, because this environment variable is examined as the program is loaded into memory |
If a user's WebSphere MQ application chooses not to set this variable, it can still connect and communicate with WebSphere MQ correctly. However, if it tries to use more shared memory than is available in the 10 slots provided for attaching shared memory segments, that request might fail.
The kinds of situations that can increase the number of segments that WebSphere MQ tries to attach are:
If the WebSphere MQ application itself uses shared memory (or possibly other libraries that do, such as database connections), this can reduce the number of memory slots available for WebSphere MQ to use.
| Note: | Not all applications support the use of EXTSHM=ON. Do not set this value globally (in /etc/environment for example). It is better to set the value locally in the profile of any user who wants to run WebSphere MQ applications. |