文档章节

RabbitMQ内存与磁盘管理

n
 nibilly
发布于 2015/04/28 20:16
字数 498
阅读 86
收藏 1

参考:http://www.rabbitmq.com/memory.html

 一、内存管理

RabbitMQ服务器在启动时会计算系统内存总大小。然后会根据vm_memory_high_watermark参数指定的百分比,进行控制.可通过命令 rabbitmqctl set_vm_memory_high_watermark fraction 动态设置。

        默认下,vm_memory_high_watermark的值为0.4,当RabbitMQ使用的内存超过40%时,系统会阻塞所有连接。一旦警报解除(消息被消费者取走,或者消息被写到硬盘中),系统重新恢复工作。

    32位系统的单进程内存使用最大为2G,即使系统有10G,那么内存警报线为2G*40%.

    在日志中可以找到内存限制的相关信息

例如 :/home/data/rabbitmq/log

=INFO REPORT==== 28-Apr-2015::14:11:16 ===

Memory limit set to 3804MB of 7609MB total.


    当vm_memory_high_watermark为0时,不再有内存警报。并且所有的消息发布都将停止。这个方法可用来,如果要禁止消息发布的情况。

    

    二、磁盘管理

    

     在日志中可以找到内存限制的相关信息

        例如 :/home/data/rabbitmq/log

            =INFO REPORT==== 28-Apr-2015::14:11:16 ===

            Disk free limit set to 50MB

            当RabbitMQ内存使用达到预设值,并且阻塞信息发布前,会尝试把内存中的信息输出到磁盘上。持久化信息和非持久化信息都将被写到磁盘。(持 久化信息一进入队列就会被写到磁盘)

            如果磁盘的预设值为50%,内存预设值默认是0.4,那么就是当内存使用量达到20%时,队列信息会被写到磁盘上。

 可以通过设置 vm_memory_high_watermark_paging_ratio (默认值为0.5)来改变写入磁盘的策略,例如:

      

[{rabbit, [{vm_memory_high_watermark_paging_ratio, 0.75},
         {vm_memory_high_watermark, 0.4}]}].

The above configuration starts paging at 30% of memory used, and blocks publishers at 40%.

上面的配置将会在内存全用30%时将队列信息写入到磁盘,阻塞信息发布是在内存使用40%时发生。

    建议vm_memory_high_watermark 不超过50%.






    

© 著作权归作者所有

共有 人打赏支持
n
粉丝 12
博文 179
码字总数 41779
作品 0
厦门
RabbitMQ 内存控制 硬盘控制

一、内存控制: vmmemoryhigh_watermark 该值为内存阈值,默认为0.4。意思为物理内存的40%。40%的内存并不是内存的最大的限制,它是一个发布的节制,当达到40%时Erlang会做GC。最坏的情况是使...

andrewniu
05/10
0
0
配置RabbitMQ默认群集模式

RabbitMQ是什么? MQ(Msaaage Queue,消息队列)是一种应用程序对应用程序的通信方式。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无须专用链接来连接它们。消息传递指...

cchenyz
07/31
0
0
深入理解消息中间件技术之RabbitMQ服务

什么叫消息队列? 消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(Message Queue)是一种应用间的通信方式,...

掘金官方
07/12
0
0
Centos7部署RabbitMQ 3.7.6

简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是...

阿dai
07/10
0
0
RabbitMQ高级指南:从配置、使用到高可用集群搭建

作者介绍 章为忠,随变科技.net架构师。致力于电商领域的开发与架构设计工作,拥有丰富的电商网站架构搭建经验。博客:http://www.cnblogs.com/zhangweizhong/。 本文大纲: 1. RabbitMQ简介...

章为忠
2017/04/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python3.6 取整除法

python3.6 中取整除法运算逻辑如下: d 非零,那么商 q 满足这样的关系: a = qd + r ,且0 ≤ r n1=7//3#7 = 3*2 +1n2=-6.1//3#-7 = 3*(-3)+2'{},{}'.format(n1,n2) 从运行结果可以...

colinux
21分钟前
3
0
阶段总结——用虚拟机搭建一个高可用负载均衡集群架构

[toc] linux基本知识已经介绍完,现有一个业务需要操作,通过对这个项目的操作,可以复习、总结、巩固之前的知识点; ** 用13台虚拟机搭建一个高可用负载均衡集群架构出来,并运行三个站点,...

feng-01
25分钟前
0
0
mysql 设置utf8字符集 (CentOS)

1.查看数据库及mysql应用目前使用的编码方式 (1)链接mysql 客户端 (2)执行:status 结果: 2.修改mysql 应用的字符编码(server characterset ) (1)打开配置文件:vim /etc/mysql/my...

qimh
25分钟前
0
0
windows无法格式化u盘解决方法

1。点开始-运行-输入cmd-format f: /fs: fat32 (这里f:是指U盘所在盘符) 这个格式化会很慢 请耐心等待

大灰狼wow
36分钟前
0
0
MySql 8.0连接失败

原来,MySql 8.0.11 换了新的身份验证插件(caching_sha2_password), 原来的身份验证插件为(mysql_native_password)。而客户端工具Navicat Premium12 中找不到新的身份验证插件(caching_s...

放飞E梦想O
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部