activemq - ActiveMQ 代理存储使用情况
问题描述
我有 3 个 ActiveMQ 代理,在这三个代理中,一个代理遇到了一个问题,即持久存储已满。
示例错误:
信息 | Usage(default:store:queue://foo.bar:store) percentUsage=99%, usage=537210471, limit=536870912, percentUsageMinDelta=1%;Parent:Usage(default:store) percentUsage=100%, usage=537210471 , limit=536870912,percentUsageMinDelta=1%: Persistent store is Full, 100% of 536870912. 停止生产者 (ID: AKUNTAMU-1-31754-1388571228628-1:1:1:1) 以防止泛滥 queue://foo。酒吧。有关更多信息,请参阅http://activemq.apache.org/producer-flow-control.html(阻止:155s)
我已将我的 storeUsage 限制配置为 100GB 用于持久消息,但是当我去检查 kahadb 的磁盘使用情况时,它超过了 100GB(它是 190Gb)。我的理解是 kahadb 文件夹包含持久消息和日志日志文件。
问题:1)我们可以查询 kahadb 以查看哪个队列正在占用空间吗?2)在kahadb文件夹内,我们如何隔离消息和其他数据库相关文件占用的空间。因为一切都是 data*.log 文件。3) 对于其他 2 个代理,在 activemq Web 控制台上,使用的存储限制显示为 0%,对此部分感到困惑。那么我如何验证其他两个经纪人的实际百分比是否为零?
提前致谢。
解决方案
每当我们配置 ActiveMQ 时,我们都会提供关于 MQ 应该使用多少磁盘空间的设置,
设置有 3 个参数
- 内存使用情况
- 商店使用情况
- 温度使用
其中 TempUsage 是 MQ 可以用来存储非持久消息的最大内存,您很可能应该将此值设置为50GB(即 536870912 字节)。看看这个关于如何找到这个值的答案 https://stackoverflow.com/a/27549226/2551236
我还没有看到这个限制被打破,队列中没有消费者或一些缓慢的消费者吗?如果您想增加限制,可以通过任何方式调整您的 activemq.xml 文件,如上述答案中所述。
希望这可以帮助!
祝你好运!
推荐阅读
- vue.js - 使用Vue路由器设置变量而不是组件可见性?
- python - 无法比较类型 'ndarray(dtype=int64)' 和 'str'
- javascript - jquery需要一键追加
- apache-spark - pyspark LDA 获取主题中的单词
- python - Tkinter中resize操作不正确
- c# - ASP.NET Singleton 类值不一致
- mongodb - 是否可以通过索引在 MongoDB 中使 $unwind 快速?
- c# - 如何在 Visual Studio [wpf] 中将我的代码背后的代码转换为 MVVM 模式以用于以下场景?
- swift - Swift Programmatic UI - 为什么/何时对自定义对象使用 updateConstraint 方法
- paypal - 使用 PayPal API 时是否可以获取付款人信息?