在Websphere MQ中,我们可以很容易地发现使用队列的CURDEPTH属性的本地队列中有多少个消息。Websphere MQ - 队列中所有消息占用的磁盘空间?
但是我怎样才能找到这些消息所占用的实际磁盘空间?由于队列中的消息可能具有不同的大小,即它们可能需要不同的磁盘空间。
在此先感谢。
在Websphere MQ中,我们可以很容易地发现使用队列的CURDEPTH属性的本地队列中有多少个消息。Websphere MQ - 队列中所有消息占用的磁盘空间?
但是我怎样才能找到这些消息所占用的实际磁盘空间?由于队列中的消息可能具有不同的大小,即它们可能需要不同的磁盘空间。
在此先感谢。
查看队列文件的大小以确定队列中所有消息占用的磁盘空间。队列文件将位于/ qmgrs //队列文件夹下。队列文件名将与队列名称相同。
谢谢Shashi。 对于其他人,队列文件的完整路径是 的/ var/MQM/qmgrs/QMANAGER_FOLDER /队列/ QUEUE_You_Want/Q
QMANAGER_FOLDER - 队列管理器目录
QUEUE_You_Want - 队列,你正在寻找。
文件'q'的大小足以确定队列占用的总磁盘空间。因此,如果文件系统由于某些队列消息而变满,我们可以确定哪个队列需要占用多少磁盘空间。
磁盘上“队列”文件的名称没有完全映射到队列名称。
.
被替换为!
该文件将被称为目录/var/mqm/qmgrs/QMGR/queues/QUEUE_NAME
q
。/var/mqm/qmgrs/QMGR/queues/QUEUE_NAME
其中队列名的.
字符替换为!
,它不再是一个叫做q
文件的目录。!!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中得到了解决。
感谢沙市:-) – Sonu