我有3个ActiveMQ代理,在这三个代理中,有一个代理遇到了一个问题,即永久性存储已满。
我已将持久消息的storeUsage限制配置为100GB,但是当我去检查kahadb的磁盘使用率时,它超过了100GB(即190Gb)。 我的理解是kahadb文件夹既包含持久性消息又包含日记日志文件。
问题: 1)我们可以查询kahadb以查看哪个队列正在消耗空间吗? 2)在kahadb文件夹内,我们如何隔离消息和其他数据库相关文件所占用的空间。因为一切都是data * .log文件。 3)对于其他2个代理,在activemq Web控制台上,使用的存储限制显示为0%,对此部分感到困惑。那么我如何验证其是否在其他两个经纪人上实际为零?
谢谢。
答案 0 :(得分:1)
每当配置ActiveMQ时,我们都会提供一个关于MQ应该使用的磁盘空间的设置
设置有3个参数
MQ可以用来存储非持久消息的最大内存是哪个TempUsage,您应该最有可能将此值设置为 50GB (即536870912字节)。 看一下如何找到这个价值的答案 https://stackoverflow.com/a/27549226/2551236
我还没有看到这个限制被突破,队列中没有消费者,还是速度较慢的消费者?无论哪种方式,如果您想增加限制,都可以按照上述答案中的说明调整activemq.xml文件。
希望这会有所帮助!
祝你好运!