博客
关于我
Rabbitmq的内存磁盘监控
阅读量:599 次
发布时间:2019-03-13

本文共 625 字,大约阅读时间需要 2 分钟。

RabbitMQ的内存和磁盘监控机制是保障消息队列稳定运行的重要配置。以下是关于其工作原理和配置方法的详细说明。

RabbitMQ在处理高负载时会触发内存和磁盘的保护机制。当内存使用超过阈值时,会暂时阻塞客户端连接并停止接收消息,这样可以避免服务器的崩溃。同时,心态检测机制也会失效,确保系统不再受此类问题影响。

默认情况下,RabbitMQ内存的高级水标设置为服务器内存的40%(vm_memory_high_watermark.relative = 0.4)。绝对值则根据具体需求配置(例如设置为1024MB)。当内存使用达到50%时,RabbitMQ会通过换页机制将队列中的消息转移至磁盘,以释放内存空间。

在换页过程中,持久化和非持久化消息都会被转移至磁盘。持久化消息会在磁盘上保留副本,因此优先清除内存中的持久化消息。这一机制默认触发于内存使用超过40%的基础上,当再度超过50%时才实际转移数据,从而保持内存的稳定运行。

另外,磁盘预警机制同样起到关键作用。当磁盘剩余空间低于50MB时,RabbitMQ会阻塞生产者,停止内存换页的同时避免因消息不断换页导致磁盘空间耗尽。这一预警设置可根据实际需求进行调整,但也要注意及时处理磁盘空间不足的情况。

值得注意的是,磁盘预警的时间间隔和内存换页的智能调度保证了高效处理,从而让RabbitMQ在负载波动期间保持稳定运行。尽管如此,科学配置磁盘预警仍然是重要,防止因磁盘空间不足导致的系统崩溃。

转载地址:http://qzkaz.baihongyu.com/

你可能感兴趣的文章
vue项目通过vue.config.js配置文件进行proxy反向代理跨域
查看>>
python-day3 for语句完整使用
查看>>
Failed to get D-Bus connection: Operation not permitted解决
查看>>
上周热点回顾(6.9-6.15)
查看>>
上周热点回顾(1.23-1.29)
查看>>
Oracle Orion tool check io(ORACLE Orion 工具查看以及校验IO)
查看>>
centos7一步一步搭建docker jenkins 及自定义访问路径重点讲解
查看>>
【Flink】Flink 底层RPC框架分析
查看>>
MySQL错误日志(Error Log)
查看>>
解决:angularjs radio默认选中失效问题
查看>>
windows环境下安装zookeeper(仅本地使用)
查看>>
缓冲区溢出实例(一)--Windows
查看>>
Python中字符串前添加r ,b, u, f前缀的含义
查看>>
Hadoop学习笔记—Yarn
查看>>
JSONPath小试牛刀之Snack3
查看>>
Jenkins - 部署在Tomcat容器里的Jenkins,提示“反向代理设置有误”
查看>>
wxWidgets源码分析(3) - 消息映射表
查看>>
wxWidgets源码分析(5) - 窗口管理
查看>>
wxWidgets源码分析(7) - 窗口尺寸
查看>>
wxWidgets源码分析(8) - MVC架构
查看>>