RabbitMQ磁盘警报

当可用磁盘空间低于配置的限制(默认为50MB)时,将触发警报,所有生产者将被阻止。目标是避免填满整个磁盘,这将导致节点上的所有写操作失败,并可能导致RabbitMQ终止。为了减少填满磁盘的风险,所有传入的消息都被阻止。在内存不足的情况下,瞬时消息仍然被分页到磁盘,并且会占用已经有限的磁盘空间。如果磁盘警报设置得太低,并且信息被快速转出,则可能会耗尽磁盘空间,并在磁盘空间检查(至少间隔10秒)之间崩溃RabbitMQ。更保守的方法是将限制设置为与系统上安装的内存量相同.

如果可用磁盘空间量低于配置的限制,则会触发警报。代理程序数据库使用的驱动器或分区的可用空间将至少每10秒钟进行一次监视,以确定是否应提高或清除磁盘警报。代理启动后,监控将立即开始,导致代理日志文件中的条目:

=INFO REPORT==== 23-Jun-2012::14:52:41 ===
Disk free limit set to 953MB

在无法识别的平台上将禁用监视,导致如下所示的条目:

=WARNING REPORT==== 23-Jun-2012::15:45:29 ===
Disabling disk free space monitoring

在群集中运行RabbitMQ时,磁盘警报是集群范围内的; 如果一个节点超出限制,那么所有节点都将阻止传入的消息。

RabbitMQ定期检查可用磁盘空间量。检查磁盘空间的频率与上次检查时的空间大小有关(以确保在空间耗尽时磁盘报警及时消失)。通常情况下,磁盘空间每10秒检查一次,但随着达到极限,频率会增加。当接近极限时,RabbitMQ将每秒检查10次。这可能会对系统负载有一些影响。

当可用磁盘空间低于配置的限制时,RabbitMQ将阻止生产者并阻止将基于内存的消息分页到磁盘。这将减少由于磁盘空间耗尽而导致崩溃的可能性,但不会完全消除。特别是,如果消息正在快速分页,则可能会在两次运行磁盘空间监视器之间的时间内耗尽磁盘空间并崩溃。更保守的方法是将限制设置为与系统上安装的内存量相同.

配置磁盘可用空间限制

磁盘可用空间限制使用disk_free_limit设置进行配置。默认情况下,数据库分区上需要50MB空闲空间(请参阅默认数据库位置的文件位置说明 )。该配置文件将磁盘可用空间限制设置为1GB:

disk_free_limit.absolute = 1000000000

或者你可以使用像这样的内存单位(KB,MB GB等):

disk_free_limit.absolute = 1GB

或者,使用经典配置格式:

{rabbit, [{disk_free_limit, 1000000000}]}].

也可以设置相对于机器中的RAM的可用空间限制。此配置文件将磁盘可用空间限制设置为与机器上的RAM数量相同:

disk_free_limit.relative = 1.0

或者,使用经典配置格式:

[{rabbit, [{disk_free_limit, {mem_relative, 1.0}}]}].

可以在代理运行时使用rabbitmqctl set_disk_free_limit disk_limit命令或 rabbitmqctl set_disk_free_limit mem_relative 分数命令更改限制。该命令将在代理关闭之前生效。当代理重新启动时效果应该保持不变,相应的配置设置也应该改变。

RabbitMQ磁盘警报的更多相关文章

  1. 亲手安装RabbitMq 3.7.2 并安装Trace插件

    ===============================================================================================1.安装E ...

  2. 消息中间件-RabbitMQ持久化机制、内存磁盘控制

    RabbitMQ持久化机制 RabbitMQ内存控制 RabbitMQ磁盘控制 RabbitMQ持久化机制 重启之后没有持久化的消息会丢失 package com.study.rabbitmq.a13 ...

  3. RabbitMQ生产部署指南

    像RabbitMQ这样的数据服务通常有许多可调参数.一些配置对开发有很大的意义,但并不适合生产,本指南旨在为此提供帮助 虚拟主机 例如,在单租户环境中,当您的RabbitMQ集群专门为生产中的单个系统 ...

  4. RabbitMQ配置文件(rabbitmq.conf)

    rabbitmq.conf配置文件示例: #====================================== #RabbitMQ经纪人部分 #======================= ...

  5. 关于RabbitMQ关键性问题的总结

    摘要:本篇是本人对RabbitMQ使用的关键性问题进行的总结,如性能上限.数据存储.集群等, 具体的RabbitMQ概念.安装.使用方法.SpringAMQP配置,假设读者已有了基础. 1.      ...

  6. 《OpenStack部署实践》

    <OpenStack部署实践> 基本信息 作者: 张子凡 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115346797 上架时间:2014-2-27 出版日期:2014 ...

  7. Windows - 性能监控之磁盘剩余空间大小警报

    开始 -> 运行 -> 键入命令 perfmon.msc 数据收集器(Data Collector Sets) -> 用户自定义(User Defined)

  8. 磁盘空间已满导致rabbitmq无法启动

    rabbitmq-server 启动问题 今天遇到一个挺奇怪的 rabbitmq-server 的启动问题. 在内部使用的 openstack 环境上,rabbitmq-server突然就关掉了,无法 ...

  9. Azure虚机磁盘容量警报(邮件提醒)

    上周有个客户提出这样的需求:根据虚拟机磁盘的实际使用量,当达到某一阈值时设置邮件提醒. 在这个需求中我们只需要解决两点问题: 计算虚拟机磁盘实际使用量 发送邮件 使用VS新建一个名为Calculate ...

随机推荐

  1. machine learning学习笔记

    看到Max Welling教授主页上有不少学习notes,收藏一下吧,其最近出版了一本书呢还,还没看过. http://www.ics.uci.edu/~welling/classnotes/clas ...

  2. Integer和int使用==比较的总结

    public static void main(String[] args) { int i1 = 128; Integer i2 = 128; Integer i3 = new Integer(12 ...

  3. 通过Samba实现Linux与Windows间的文件共享

    Samba Samba,是用来让Linux系列的操作系统与Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网 ...

  4. oracle中的预定异常和自定义异常

    预定异常 oracle中的预定异常情况大约有24个,对于这种异常情况的处理,无须再程序中定义,可用oracle自动引发,常见的预定异常如下 异常 说明 ACCESS_INTO_NULL 在未初始化对象 ...

  5. 【CSS】多行溢出显示省略号

    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;//超出三行隐藏 overflow: hidden; ...

  6. 标签种类及CSS引入方法

    标签种类及CSS引入方法 标签种类: 一:块级标签(block) ——> 独占一行,默认宽度与内容无关,宽高可设   (hr 块级标签) 二:行内块标签(inline-block) ——> ...

  7. 微信小程序本地缓存

  8. Scala构建元数据

    反射方式构建元数据: 通过反射来获取RDD中的Schema信息.这种方式适合于列名(元数据)已知的情况下 步骤: 1.SparkConf配置环境 2.SparkContext初始化上下文 3.SQLC ...

  9. C# 设定弹出窗体位置

    一.C#中弹出窗口位置 加入命名空间 using System.Drawing using System.Windows.Forms 假定窗口名为form1,则 //窗体位置在屏幕中间 form1.S ...

  10. HDU 6386 Age of Moyu

    Problem Description Mr.Quin love fishes so much and Mr.Quin’s city has a nautical system,consisiting ...