RabbitMQ 流控制学习
2017-11-10 14:59
92 查看
一、内存控制:
vm_memory_high_watermark 该值为内存阈值,默认为0.4。意思为物理内存的40%。40%的内存并不是内存的最大的限制,它是一个发布的节制,当达到40%时Erlang会做GC。最坏的情况是使用内存80%。如果把该值配置为0,将关闭所有的publishing 。
rabbitmqctl set_vm_memory_high_watermark 0
Paging 内存阈值,该值为默认为0.5,该值为vm_memory_high_watermark的20%时,将把内存数据写到磁盘。
如机器内存16G,当RABBITMQ占用内存1.28G(16*0.4*0.2)时把内存数据放到磁盘。
二、硬盘控制:
当RabbitMQ的磁盘空闲空间小于50M(默认),生产者将被BLOCK,
如果采用集群模式,磁盘节点空闲空间小于50M将导致其他节点的生产者都被block
可以通过disk_free_limit来对进行配置。
vm_memory_high_watermark 该值为内存阈值,默认为0.4。意思为物理内存的40%。40%的内存并不是内存的最大的限制,它是一个发布的节制,当达到40%时Erlang会做GC。最坏的情况是使用内存80%。如果把该值配置为0,将关闭所有的publishing 。
rabbitmqctl set_vm_memory_high_watermark 0
Paging 内存阈值,该值为默认为0.5,该值为vm_memory_high_watermark的20%时,将把内存数据写到磁盘。
如机器内存16G,当RABBITMQ占用内存1.28G(16*0.4*0.2)时把内存数据放到磁盘。
二、硬盘控制:
当RabbitMQ的磁盘空闲空间小于50M(默认),生产者将被BLOCK,
如果采用集群模式,磁盘节点空闲空间小于50M将导致其他节点的生产者都被block
可以通过disk_free_limit来对进行配置。
相关文章推荐
- RabbitMQ
- 一种RabbitMQ网络分区问题的解决方案
- RabbitMQ消息队列入门篇(环境配置+Java实例+基础概念)
- Docker 安装 RabbitMQ 集群
- RabbitMQ与Redis队列对比
- MQ入门总结(五)RabbitMQ的原理和使用
- RabbitMQ 三种Exchange
- RabbitMQ的应用场景以及基本原理介绍
- Python之路【第十篇】Python操作Memcache、Redis、RabbitMQ、SQLAlchemy、
- rabbitmq的用户管理
- RabbitMQ基础概念详细介绍
- rabbitMq设计思想
- RabbitMQ介绍3 - 运行和管理RabbitMQ
- rabbitmq
- [转]RabbitMQ消息队列在PHP下的应用
- RabbitMQ应用实例Python版-消息确认和消息持久化
- Centos安装RabbitMQ
- RabbitMQ安装
- RabbitMQ的安装及配置
- rabbitMQ结合spring框架使用