Queue Manager Configuration Files

IBM MQ stores two layers of configuration: installation and process settings in INI files, and messaging objects in the queue manager repository. Beginners who edit only MQSC may still be blindsided when LogPath fills a disk or a multi-instance stanza points at the wrong mount. This tutorial explains mqs.ini and qm.ini, key stanzas and path attributes, how crtmqm records initial values, environment variables that override client connectivity, and safe change practices—without treating the files as mysterious binary artifacts.

mqs.ini: Installation Scope

Located under the MQ installation data directory (for example /var/mqm on Linux), mqs.ini registers queue managers known to this installation. When you run dspmq, the list comes from here plus runtime state. Adding a queue manager with crtmqm updates mqs.ini with a stanza naming the manager and pointing to its directory. Installation-wide parameters—default installation, some TCP tuning at install level—also live here. Multiple MQ versions on one host use separate installation paths, each with its own mqs.ini.

qm.ini: One Queue Manager

Each queue manager has a directory containing qm.ini, configuration files subdirectory, log pointers, and queue file metadata. The Stanza: QueueManager section names the manager and records DataPath, LogPath, and prefix settings. Service stanzas configure components such as listeners or the command server when defined in ini (exact layout varies by version; many objects are still created via MQSC). At strmqm, the process reads qm.ini to find logs and data before loading the object repository.

Important path-related settings (conceptual)
SettingMeaningTypically set when
DataPathDirectory for queue files and qm.inicrtmqm -md
LogPathDirectory for linear logscrtmqm -ld
PrefixOptional naming prefix for filescrtmqm -lp
QueueManager nameIdentity used in MQCONNcrtmqm name

Explainer: INI vs MQSC

If MAXDEPTH on ORDERS.IN is wrong, ALTER QLOCAL in MQSC fixes it while the queue manager runs (attribute dependent). If LogPath points at a full filesystem, you change infrastructure or qm.ini and may need planned downtime. Confusing the two layers causes teams to ALTER CHANNEL when the real problem is an ini path after storage migration. Document which team owns ini files (platform) versus objects (middleware).

Multi-Instance Stanzas

Multi-instance queue managers add stanzas for instance names, network heartbeat intervals, and shared path verification. Both nodes must mount identical DataPath and LogPath values in qm.ini. Instance-specific files may exist for local scratch, but the authoritative queue data is shared. Never copy qm.ini between unrelated queue managers without changing every path and name—clone mistakes duplicate QMNAME and corrupt mounts.

Environment Variables Clients Use

While not INI files, MQSERVER, MQCHLLIB, MQCHLTAB, and SSL-related variables configure client attachment without editing server qm.ini. Server-side listeners are still defined with DEFINE LISTENER or ini service stanzas. Matching client and server port, TLS cipher, and AUTHREC is end-to-end configuration spanning CCDT, environment, and queue manager repository.

Backup, Drift, and GitOps

  • Back up qm.ini and mqs.ini with every change window.
  • Store dmpmqcfg exports alongside ini snapshots in version control.
  • After DR failover to new storage, verify paths before strmqm.
  • Container images often inject paths via mounts; ini may be templated at deploy time.

Tutorial: Locate and Inspect Files

shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# List queue managers on host dspmq # Display paths (Linux example) # Data: /var/mqm/qmgrs/QM1/qm.ini cat /var/mqm/qmgrs/QM1/qm.ini | head -40 # Installation file cat /var/mqm/mqs.ini | head -30 # Export object definitions separately dmpmqcfg -m QM1 -a > QM1-objects.mqsc # Create with explicit paths crtmqm -ld /mqlog/QM1 -md /mqdata/QM1 QM1 strmqm QM1

z/OS Note

z/OS queue managers use CSQ6PROG and system customization rather than Linux-style qm.ini paths, but the same conceptual split applies: subsystem parameters versus MQ object repository. Distributed administrators joining a mainframe project should read the z/OS MQ planning manual rather than assuming /var/mqm layout.

Explain Like I'm Five: Configuration Files

The post office building has a blueprint (qm.ini) showing where the basement storage and security notebooks live. The city planning office has a list of all post offices (mqs.ini). Inside the building, a separate catalog lists every mailbox name (repository). You need all three to run the town's mail.

Practice Exercises

Exercise 1: Path Trace

Given dspmq output, find qm.ini and LogPath on your lab system.

Exercise 2: Wrong Disk

LogPath disk is 99% full. List actions that do not require deleting messages.

Exercise 3: Restore

Restore old qm.ini from backup but keep current object repository. What could mismatch?

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. mqs.ini is scoped to:

  • One queue only
  • The MQ installation on a host
  • A single message
  • Only z/OS

2. LogPath in qm.ini points to:

  • Application logs only
  • Queue manager linear log files
  • The DLQ
  • Git repository

3. DEFINE QLOCAL changes:

  • The object repository
  • qm.ini LogPath
  • mqs.ini installation path
  • Windows registry only

4. crtmqm -md sets:

  • DataPath for queue files
  • Channel CONNAME
  • Topic string
  • Cipher spec
Published
Read time14 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation