Amazon MQ for ActiveMQ:代理内存不足警报 - Amazon MQ
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon MQ for ActiveMQ:代理内存不足警报

当代理由于内存容量不足而陷入重新启动循环时,Amazon MQ for ActiveMQ 将引发 BROKER_OOM 警报。当代理处于重新启动循环(也称为反弹循环)时,代理会在很短的时间窗口内发起反复的恢复尝试。由于内存容量不足而无法完成启动的代理可能会进入重新启动循环,在此过程中,与代理的交互将会受到限制。

默认情况下,Amazon MQ 将会为您的代理启用指标。您可以通过访问 Amazon CloudWatch 控制台或者通过使用 CloudWatch API 查看您的代理指标。诊断 ActiveMQ BROKER_OOM 警报时,以下指标很有用:

Amazon MQ CloudWatch 指标 内存使用过高的原因
TotalMessageCount 消息在被使用或丢弃之前一直存储在内存中。高消息计数可能指示资源过度使用,并且可能导致高内存警报。
HeapUsage 代理当前使用的 ActiveMQ JVM 内存限制的百分比。较高的百分比表示代理正在使用大量资源,而可能导致 OOM 警报。
ConnectionCount 客户端连接使用内存,并且过多同时连接可能会导致高内存警报。
CpuUtilization 代理当前正在使用的已分配 EC2 计算单位的百分比。
TotalConsumerCount 对于连接至代理的每个使用者,一组消息在传输至使用者之前将从存储加载到内存。大量使用者连接可能造成高内存使用,并导致高内存警报。

为防止重新启动循环并避免 BROKER_OOM 警报,请确保快速使用消息。为此,您可以选择最有效的代理实例类型,还可以清除死信队列以丢弃无法传送或过期的消息。您可以在 Amazon MQ for ActiveMQ 最佳实践中详细了解如何确保有效的性能。