IBM MQ and UNIX Process Priority

Good practices when setting process priority nice values.

This information applies to IBM® MQ running on UNIX and Linux® systems only.

If you run a process in the background, that process can be given a higher nice value (and hence lower priority) by the invoking shell. This might have general IBM MQ performance implications. In highly-stressed situations, if there are many ready-to-run threads at a higher priority and some at a lower priority, operating system scheduling characteristics can deprive the lower priority threads of processor time.

It is good practice that independently started processes associated with queue managers, such as runmqlsr , have the same nice values as the queue manager they are associated with. Ensure the shell does not assign a higher nice value to these background processes. For example, in ksh, use the setting set +o bgnice to stop ksh from raising the nice value of background processes. You can verify the nice values of running processes by examining the NI column of a ps -efl listing.

Also, start IBM MQ application processes with the same nice value as the queue manager. If they run with different nice values, an application thread might block a queue manager thread, or vice versa, causing performance to degrade.