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. We 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.

Parent topic: Plan your storage and performance requirements on Multiplatforms