rabbitmq内存告警

一 问题描述

同事反馈rabbitmq有问题,登录管理界面,发现rabbitmq集群中的第二个节点内存使用率较高:

 点击?看到有如下提示:

二 出错原因

默认情况下,RabbitMQ使用内存超过40%的时候,会发出内存警告,阻塞所有发布消息的连接,一旦警告解除(etc,服务器paging消息到硬盘或者分发消息到消费者并且确认)服务会恢复正常。

默认的内存阈值是40%,注意,这并不会阻止Rabbit MQ Server使用不到40%,仅仅意味着到达这个点的时候,发布者会被扼杀,最坏的情况下,Erlang虚拟机会引起双倍的内存使用(RAM的80%),强烈建议开启操作系统的SWAP和Page Files。

三 解决办法

① 扩服务器内存

② 若服务器内存足够,可用内存还很多,只是因为阀值低,可临时调高点水位线的阀值:

#这里调整到0.6

rabbitmqctl set_vm_memory_high_watermark 0.6

③ 如果配置了镜像队列,而某个队列未消费的消息数据量很大,则镜像队列比较耗内存。可排查下为何这个队列未消费的数据量为何这么大,是不是消费者程序没启动还是哪里有问题。

本篇文章转自:RabbitMQ 内存和磁盘警告_跨过山和大海的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/yabignshi/article/details/121625921