IBM Support

How to configure UNIX and Linux systems for IBM MQ

Troubleshooting


Problem

You are planning to install or upgrade an IBM MQ server on a UNIX or Linux system and need to know how to tune the operating system, including user limits and kernel parameters for shared memory and semaphore resources.

Cause

If you do not configure your operating system parameters properly, your IBM MQ queue managers might run out of system resources while handling your production workload. Depending on which resource which was exhausted, MQ might return an error to the application (like MQRC_RESOURCE_PROBLEM, reason code 2012), write a message to its error logs, create FDC files in the /var/mqm/errors directory, or even terminate.

Resolving The Problem

The IBM MQ documentation explains how to tune your system to run IBM MQ:

 

Any values listed in the "Current User Limits" section are resource limits for the user who ran mqconfig. If you normally start your queue managers as the mqm user, then you should switch to mqm and run mqconfig there. If other members of the mqm group (and perhaps root) also start queue managers, they should all run mqconfig to ensure their limits are suitable for MQ.

 

IPC Tuning Parameters

The following parameters control the limits on System V IPC semaphore and shared memory resources used by MQ. Not all parameters exist on every system; AIX notably does not use any of them. Parameters relating to System V IPC message queues are not listed because MQ does not use them.

If you are installing MQ on a system with other products that recommend specific IPC settings, you will need to know how to combine the recommendations. For example, if MQ recommends 1024, DB2 recommends 512, and TXSeries recommends 512, you need to know whether to use the highest value (1024) or the sum of all the values (2048). In the list below, you should take the highest value for parameters marked  >  and add the values for parameters marked  ∑ 

 

System V IPC Semaphore Parameters

  • >  semaem
    The maximum adjustment value the operating system can apply when processing an undo request. MQ uses binary rather than counting semaphores, so this parameter does not affect it.
  •   semmni or project.max-sem-ids
    The maximum number of semaphore sets on the system. Current versions of IBM MQ use significantly fewer semaphores than WebSphere MQ 7.1 and older versions did.
  • ∑  semmns
    The total number of semaphores in the system. The theoretical maximum is semmni × semmsl, though in practice some sets will be smaller than the maximum allowed size.
  • ∑  semmnu
    The maximum number of semaphore undo requests in the system. When a program ends or crashes, the operating system will automatically adjust semaphores for which undo support was requested. MQ uses this option with some semaphores to ensure they are unlocked even if a process ends abnormally.
  • >  semmsl or process.max-sem-nsems
    The maximum number of semaphores in a single set.
  • ∑  semume
    The maximum number of semaphore undo requests a single process can have outstanding.
  • >  semvmx
    The maximum value of a semaphore. MQ uses binary rather than counting semaphores, so this parameter does not affect it.
 

System V IPC Shared Memory Parameters

  • ∑  shmall
    The maximum number of pages available for shared memory on Linux systems.
  • >  shmmax or project.max-shm-memory
    The maximum size of a shared memory set. Setting a very large value will not waste memory since MQ starts by allocating small sets, increasing the size only when processing a heavy workload.
  • ∑  shmmni or project.max-shm-ids
    The maximum number of shared memory sets on the system. MQ queue managers add shared memory sets based on workload, so it is worth checking this parameter when the system is under load to see how many sets you are using.
  • ∑  shmseg
    The maximum number of shared memory sets a single process can attach. This value should match shmmni so that MQ can attach all of the sets it creates.

[{"Type":"MASTER","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"ARM Category":[{"code":"a8m3p000000PCHKAA4","label":"Configuration"}],"ARM Case Number":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"All Versions"}]

Product Synonym

IBM MQ

Document Information

Modified date:
21 February 2024

UID

swg21271236