ActiveMQ:了解内存使用情况

本文详细探讨了ActiveMQ的MemoryUsage,解释了消息在代理、目的地和订阅中的内存使用情况,以及生产者流控制和内存分配策略。内容包括内存使用层次结构、生产者流控制的机制,以及如何在主代理、目标和订阅之间分割内存。
摘要由CSDN通过智能技术生成

正如最近的一些邮件列表电子邮件和从Google返回的许多信息所表明的那样,ActiveMQ的SystemUsage尤其是MemoryUsage功能使一些人感到困惑。 我将尝试解释有关MemoryUsage的一些细节,这些细节可能有助于理解它的工作方式。 我将不介绍StoreUsage和TempUsage,因为我的同事已经深入 介绍了这些内容

您可以使用activemq.xml配置的一部分来指定SystemUsage限制,特别是围绕代理可以使用的内存,持久性存储和临时存储。 这是ActiveMQ 5.7附带的默认示例:

<systemUsage>
    <systemUsage>
        <memoryUsage>
            <memoryUsage limit="64 mb"/>
        </memoryUsage>
        <storeUsage>
            <storeUsage limit="100 gb"/>
        </storeUsage>
        <tempUsage>
            <tempUsage limit="50 gb"/>
        </tempUsage>
    </systemUsage>
</systemUsage>

内存使用情况

MemoryUsage似乎引起了最大的混乱,因此我在这里尝试阐明其内部工作原理。

当消息传入经纪人时,它必须走到某个地方。 它首先被解组断丝进入类型的ActiveMQ的命令对象ActiveMQMessage 。 目前,该对象显然已在内存中,但代理程序并未对其进行跟踪。

这使我们到达了第一点。

MemoryUsage实际上只是代理所需的字节数计数器,用于跟踪消息正在使用的JVM内存量。 这为经纪人提供了一些监控和确保我们不会超出极限的方法(稍后会详细介绍)。 否则,在JVM耗尽堆空间之前,我们可能会在

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值