2013-06-18 310 views
2

在Websphere MQ中,我們可以很容易地發現使用隊列的CURDEPTH屬性的本地隊列中有多少個消息。Websphere MQ - 隊列中所有消息佔用的磁盤空間?

但是我怎樣才能找到這些消息所佔用的實際磁盤空間?由於隊列中的消息可能具有不同的大小,即它們可能需要不同的磁盤空間。

在此先感謝。

回答

0

查看隊列文件的大小以確定隊列中所有消息佔用的磁盤空間。隊列文件將位於/ qmgrs //隊列文件夾下。隊列文件名將與隊列名稱相同。

+0

感謝沙市:-) – Sonu

0

謝謝Shashi。 對於其他人,隊列文件的完整路徑是 的/ var/MQM/qmgrs/QMANAGER_FOLDER /隊列/ QUEUE_You_Want/Q

QMANAGER_FOLDER - 隊列管理器目錄
QUEUE_You_Want - 隊列,你正在尋找。

文件'q'的大小足以確定隊列佔用的總磁盤空間。因此,如果文件系統由於某些隊列消息而變滿,我們可以確定哪個隊列需要佔用多少磁盤空間。

0

磁盤上「隊列」文件的名稱沒有完全映射到隊列名稱。

  1. 爲了與舊版本的IBM MQ創建隊列正常在哪裏隊列名稱的字符.被替換爲!該文件將被稱爲目錄/var/mqm/qmgrs/QMGR/queues/QUEUE_NAMEq
  2. 對於MQ的新版本中創建正常隊列(我相信7.5及更高版本)的實際文件名爲/var/mqm/qmgrs/QMGR/queues/QUEUE_NAME其中隊列名的.字符替換爲!,它不再是一個叫做q文件的目錄。
  3. 對於動態隊列,目錄或文件名將根本不包含實際的動態隊列名稱,並且類似於!!GHOST!DEADBEEF!0!DEADBEEF!99

要找到隊列文件的確切位置使用dspmqfls命令,如下面的例子:

dspmqfls -m QMGR -t ql SYSTEM.DEFAULT.LOCAL.QUEUE 

輸出將是這樣的:

WebSphere MQ Display MQ Files 

QLOCAL SYSTEM.DEFAULT.LOCAL.QUEUE 
/var/mqm/qmgrs/QMGR/queues/SYSTEM!DEFAULT!LOCAL!QUEUE 

注意輸出無論該位置是目錄還是實際文件都是相同的。如果您檢查並且它是一個目錄,您可以在目錄中查找名爲q的文件,如果它是實際「隊列」文件的文件。隊列目錄的

實施例:一個隊列文件的

$ls -ld /var/mqm/qmgrs/QMGR/queues/SYSTEM!DEFAULT!LOCAL!QUEUE 
drwxrwx--- 2 mqm mqm 96 Apr 7 2010 /var/mqm/qmgrs/QMGR/queues/SYSTEM!DEFAULT!LOCAL!QUEUE 

實施例:

$ls -ld /var/mqm/qmgrs/QMGR/queues/SYSTEM!DEFAULT!LOCAL!QUEUE 
-rw-rw---- 1 mqm mqm 2048 Jul 19 2016 /var/mqm/qmgrs/QMGR/queues/SYSTEM!DEFAULT!LOCAL!QUEUE 

APAR IT09611它通過7.5適用於IBM MQ v7.5.0.0。 0.5會導致一些隊列文件名被截斷,這在7.5.0.6中得到了解決。