ActiveMQ代理存储使用情况

时间:2018-10-03 22:32:20

标签: activemq

我有3个ActiveMQ代理,在这三个代理中,有一个代理遇到了一个问题,即永久性存储已满。

示例错误:

INFO |用法(默认值:store:queue://foo.bar:store)percentUsage = 99%,用法= 537210471,限制= 536870912,percentUsageMinDelta = 1%;父级:用法(默认值:store)percentUsage = 100%,用法= 537210471 ,限制为536870912,percentUsageMinDelta = 1%:永久存储已满,为536870912的100%。正在停止生产者(ID:AKUNTAMU-1-31754-1388571228628-1:1:1:1)以防止泛洪queue:// foo。酒吧。有关更多信息,请参见http://activemq.apache.org/producer-flow-control.html(阻止时间:155秒)

我已将持久消息的storeUsage限制配置为100GB,但是当我去检查kahadb的磁盘使用率时,它超过了100GB(即190Gb)。 我的理解是kahadb文件夹既包含持久性消息又包含日记日志文件。

问题: 1)我们可以查询kahadb以查看哪个队列正在消耗空间吗? 2)在kahadb文件夹内,我们如何隔离消息和其他数据库相关文件所占用的空间。因为一切都是data * .log文件。 3)对于其他2个代理,在activemq Web控制台上,使用的存储限制显示为0%,对此部分感到困惑。那么我如何验证其是否在其他两个经纪人上实际为零?

谢谢。

1 个答案:

答案 0 :(得分:1)

每当配置ActiveMQ时,我们都会提供一个关于MQ应该使用的磁盘空间的设置

设置有3个参数

  • 内存使用情况
  • 商店使用情况
  • 临时用量

MQ可以用来存储非持久消息的最大内存是哪个TempUsage,您应该最有可能将此值设置为 50GB (即536870912字节)。 看一下如何找到这个价值的答案 https://stackoverflow.com/a/27549226/2551236

我还没有看到这个限制被突破,队列中没有消费者,还是速度较慢的消费者?无论哪种方式,如果您想增加限制,都可以按照上述答案中的说明调整activemq.xml文件。

希望这会有所帮助!

祝你好运!