1.rabbitMq内存磁盘监控
fraction/ value为内存阈值。默认情況是:0.4/2GB,代表的含义是:当 Rabbitmq的内存超过40%时,就会产生警告并且阻塞所有生产者的连接。通过此命令修改阈值在 Broker重启以后将会失效,通过修改配置文件方式设置的阈值则不会随着重启而消失,但修改了配置文件一样要重启 broker才会生效。
官方配置属性
docker环境需要exec 先进入容器
#设置固定值
root@52b1a37a1790:/# rabbitmqctl set_vm_memory_high_watermark absolute 50MB
#设置内存大小的百分比 0.4=40%
root@52b1a37a1790:/# rabbitmqctl set_vm_memory_high_watermark 0.4
#物理磁盘只要少于50MB就会爆红
root@52b1a37a1790:/# rabbitmqctl set_disk_free_limit 100GB
2.rabbitMq当Memory小于我们预设的值时,rabit就会挂起所有的连接
3.rabbitMqde 内存换页
在某个 Broker节点及内存阻塞生产者之前,它会尝试将队列中的消息换页到磁盘以释放内存空间,持久化和非持久化的消息都会写入磁盘中,其中持久化的消息本身就在磁盘中有一个副本,所以在转移的过程中持久化的消息会先从内存中清除掉
#设置分页的预警值
vm_memory_high_watermark_paging_ratio = 0.5
也就是说当我们内存大小为1000MB时,内存阈值默认是0.4,当内存使用超过0.5 * 0.4*1000=200M,会进行分页,会把内存中的200MB进行转移到磁盘中。