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 警报,请确保快速使用消息。为此,您可以选择最有效的代理实例类型,还可以清除死信队列