【问题标题】:WebSphere MQ Transactional Log file system fullWebSphere MQ 事务日志文件系统已满
【发布时间】:2011-05-08 21:22:56
【问题描述】:

事务日志文件系统 (/var/mqm/log) 已满,在尝试客户端连接到此队列管理器时,队列管理器出现 MQRC 2102 资源问题。我们可以采取什么行动来解决这个问题?

LogPrimaryFiles=2  
LogSecondaryFiles=8 
LogFilePages=16384 
LogType=CIRCULAR 
LogBufferPages=0 
LogPath=/var/mqm/log/QMGRA/ 
LogWriteIntegrity=TripleWrite

向 /var/mqm/log 添加额外的磁盘空间是唯一的解决方案吗?

我有几个队列已满,但队列存储文件系统只使用了 60%。

请给我一些想法。

【问题讨论】:

  • 圆形或线性原木?如果不确定,请检查 qm.ini 文件。
  • LogPrimaryFiles=2 LogSecondaryFiles=8 LogFilePages=16384 LogType=CIRCULAR LogBufferPages=0 LogPath=/var/mqm/log/QMGRA/LogWriteIntegrity=TripleWrite
  • 如果您想知道对问题的修改,“MQ”是一个非常通用的术语,可以适用于许多不同的供应商实现。尽管您的标签上写着 WebSphere-MQ,但我通常会尝试消除标题的歧义,并且通常在它们特定于特定实现时引用“MQ”的正文引用。关于删除签名,这只是一个 SO 约定,旨在使该站点更像一个参考,而不是一个论坛。请参阅常见问题解答中的“签名”:stackoverflow.com/faq#signatures 但是,该约定不适用于 cmets。干杯!
  • 对不起 Rob。接下来我会遵守约定。

标签: ibm-mq


【解决方案1】:

每个日志文件页面为 4096 字节,因此设置为 LogFilePages=16384 会导致每个日志文件扩展为 64MB。使用LogPrimaryFiles=2LogSecondaryFiles=8 的设置,最多可以有10 个日志文件,总共640MB。如果循环日志所在的文件系统小于这个数量,它可能会被填满。

这里的最佳解决方案是将日志文件磁盘分配的大小增加到比日志文件范围所需的稍大一些。如果这是不可能的,或者您需要临时修复,则有必要通过减少扩展区的数量并重新启动 QMgr 来更改日志文件要求的大小。请注意,您可以调整日志范围的数量,但不能调整范围的大小。如果需要更改 LogFilePages=16384 参数,则需要重新构建 QMgr。

extent 的数量和大小表示一次可以在同步点下的数据总量,但在大多数情况下 640MB 是足够的。在时间方面,它还限制了活动 QMgr 上工作单元的最长可能持续时间。这是因为如果日志文件中的头指针超过尾指针,则未完成的事务将被回滚。例如,假设通道进入重试状态。这会在同步点下保存一批消息并保持该日志范围处于活动状态。当应用程序和其他通道执行它们的正常操作时,额外的事务驱动头指针向前。最终将使用所有区段,尽管可能很少有未完成的事务,但最旧的事务将被回滚以释放该区段并将尾指针向前推进。如果错误日志显示许多事务被回滚以释放日志空间,那么您确实需要为日志文件分区分配更多空间并增加扩展区的数量。

【讨论】:

    猜你喜欢
    • 2011-10-12
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-14
    • 1970-01-01
    • 2017-11-20
    相关资源
    最近更新 更多