Resource limit configuration

 

WebSphere MQ uses semaphores, shared memory, and file descriptors, and it is probable that the default resource limits are not adequate.

The configuration required by WebSphere MQ depends on the version of Solaris you are using.

If you are using Solaris 10:

You must change the default resource limits for each zone WebSphere MQ will be installed in. To set new default limits for all users in the mqm group, set up a project for the mqm group in each zone.

To find out if you already have a project for the mqm group, log in as root and enter the following command:

projects -l

If you do not already have a group.mqm project defined, enter the following command:

projadd -c "WebSphere MQ default settings" 
        -K "process.max-file-descriptor=(basic,10000,deny)" 
        -K "project.max-shm-memory=(priv,4GB,deny)" 
        -K "project.max-sem-ids=(priv,1024,deny)" group.mqm

If a project called group.mqm is listed, review the attributes for that project. The attributes must include the following minimum values:

process.max-file-descriptor=(basic,10000,deny)
project.max-sem-ids=(priv,1024,deny)
project.max-shm-memory=(priv,4294967296,deny)
If we need to change any of these values, enter the following command:
projmod -s -K "process.max-file-descriptor=(basic,10000,deny)" 
           -K "project.max-shm-memory=(priv,4GB,deny)" 
           -K "project.max-sem-ids=(priv,1024,deny)" group.mqm
Note that we can omit any attributes from this command that are already correct.

For further information on setting up the system, see Sun's System Administration Guide: Solaris Containers-Resource Management and Solaris Zones for your release of Solaris.

If you are using Solaris 8 or Solaris 9:

Review the system's current resource limit configuration.

As the root user, load the relevant kernel modules into the running system by typing the following commands:

modload -p sys/msgsys
modload -p sys/shmsys
modload -p sys/semsys
Then display your current settings by typing the following command:
sysdef

Check that the following parameters are set to the minimum values required by WebSphere MQ, or higher. The minimum values required by WebSphere MQ are documented in the tables below.

Minimum values for semaphores required by WebSphere MQ
Parameter Minimum value
SEMMNI 1024
SEMAEM 16384
SEMVMX 32767
SEMMNS 16384
SEMMSL 100
SEMOPM 100
SEMMNU 16384
SEMUME 256

Minimum values for shared memory required by WebSphere MQ
Parameter Minimum value
SHMMAX 4294967295
SHMMNI 1024
SHMSEG (Solaris 8 only) 1024

Minimum values for file descriptors required by WebSphere MQ
Parameter Minimum value
rlim_fd_cur 10000
rlim_fd_max 10000

To change any parameters that are lower than the minimum value required by WebSphere MQ, edit your /etc/system file to include the relevant lines from the following list:

set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=1024
set semsys:seminfo_semmni=1024
set semsys:seminfo_semaem=16384
set semsys:seminfo_semvmx=32767
set semsys:seminfo_semmns=16384
set semsys:seminfo_semmsl=100
set semsys:seminfo_semopm=100
set semsys:seminfo_semmnu=16384
set semsys:seminfo_semume=256
set shmsys:shminfo_shmseg=1024
set rlim_fd_cur=10000
set rlim_fd_max=10000

  1. These values are suitable for running WebSphere MQ, other products on the system might require higher values.

  2. Do not change the value of shmmin from the system default value.

  3. Semaphore and swap usage does not vary significantly with message rate or persistence.

  4. WebSphere MQ queue managers are generally independent of each other. Therefore system kernel parameters, for example shmmni, semmni, semmns, and semmnu need to allow for the number of queue managers in the system.

After saving the /etc/system file, reboot your system.

 

Parent topic:

Installation procedure


sq10360_