查看MQ運行狀態 1、查看隊列管理器運行狀態 對MQ 5.2或以上版本,執行如下命令檢查隊列管理器運行狀態: # dspmq 顯示結果中QMNAME表示MQ隊列管理器的名稱,STATUS表示當前運行狀態。 運行狀態有如下幾種: Starting 正在啟動 Running 正在運行 Ending 正在停止 Ended normally 已經正常終止 Ended immediately 已經立即終止 Ended preemtively 已經強制終止 Ended unexpectively 異常終止 注:停止MQ后建議使用dspmq命令進行狀態檢查是否成功關閉。 dspmq查詢結果示例 QMNAME(QM00) STATUS(Running) 2、查看通道運行狀態與啟停通道 $ runmqsc dis chl(*); 查看所有通道定義 dis chs(*); 查看所有通道狀態,如果沒有查詢到通道狀態,或報錯AMQ8420: Channel Status not found,請啟動通道 dis chs(ChannelName); 查看通道ChannelName的狀態 通道狀態有如下幾種: STARTING 正在啟動 BINDING 正在綁定 INITIALIZING 正在初始化 RUNNING 正常 STOPPING 正在停止 RETRYING 重試 PAUSED 等待 STOPPED 已停止 REQUESTING 請求 啟停通道與重置通道序號的方法: $ runmqsc start chl(ChannelName); 啟動通道 stop chl(ChannelName); 停止通道 reset channel(ChannelName); 重置通道序號。當本地與其他MQ隊列管理器的通道無法正常啟動的情況,檢查日志發現是通道序號不一致,此時就需要先停止發送方通道,並在發送方和接收方進行通道計數的重置,重置后啟動通道即可恢復通訊。想了解為什么要重置通道,請查看本站文章:Websphere MQ消息序號Message Sequence詳解 3、查看通道監聽狀態與啟停監聽 $ runmqsc dis listner(*); 查看通道監聽定義 dis lsstatu(listnerName); 查看監聽狀態 啟動與停止監聽的方法: $ runmqsc start lstr(listnerName); 啟動監聽 stop lstr(listnerName); 停止監聽 4、查看隊列深度 如果隊列深度不斷增加,不見減少,那么可能就有問題了,請檢查並分析其原因。 $runmqsc dis q(*); 查看所有各類隊列的屬性 dis qlocal(QName); 查看所有本地隊列的屬性 隊列深度屬性為:CURDEPTH 5、查看死信隊列深度 如果死信隊列深度不斷增加,那就需要分析其原因。 $runmqsc dis qlocal(DEADQName)