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. git 学习笔记 window操作系统

    一.准备工作 1.设置好操作者和邮箱 $ git config --global user.name "Your Name" $ git config --global user. ...

  2. js延迟执行与循环执行

    延迟一段时间执行特定代码: setTimeout(function () { window.location.href = 'login' },1200); 循环执行: function test() ...

  3. 关于 ReactNative 环境搭建之 error: invalid developer directory '/Library/Developer/CommandLineTools' - RN

    简要说明,此次尝试安装 ReactNative 时当前 MacPro 版本为 10.13.6.Xcode 版本为 Version 9.4.1 (9F2000),按照官方的完整原生环境搭建流程一步步执行 ...

  4. AwesomeMenu,仿Path主菜单效果

    项目主页: AwesomeMenu 项目主页 实例下载: 最新源代码点击下载 用法简介: 通过创建菜单各个单元项来创建菜单: UIImage *storyMenuItemImage = [UIImag ...

  5. BZOJ1901: Zju2112 Dynamic Rankings(整体二分 树状数组)

    Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 9094  Solved: 3808[Submit][Status][Discuss] Descript ...

  6. 爱她就用python给她画个小心心 ♥(ˆ◡ˆԅ)

    from turtle import * a = Turtle() screensize(400, 300, "blue") setup(width=1300, height=65 ...

  7. exa命令详解

    exa 是 ls 文件列表命令现代化替代品. 官网:https://the.exa.website/ GitHub:https://github.com/ogham/exa 后续整理中……

  8. CentOS yum命令报错 Error: File /var/cache/yum/i386/6/epel/metalink.xml does not exist

    最近在虚拟机上执行yum命令一直报错:Could not parse metalink https://mirrors.fedoraproject.org/metalink?repo=epel-7&a ...

  9. 从coding.net 克隆(git clone)项目代码到本地报无权限(403)错误 解决方案

    直接从coding.net (git clone)项目代码到本地时,会提示没有权限的错误,如下图: 解决方案:添加远程地址的时候带上用户名及密码即可解决,格式如下: git clone http:// ...

  10. PLC状态机编程第五篇-状态机自动生成PLC程序

    这篇比较简单了,我就直接上图了,不多废话. 一.选择求解器,一定要选择定步长的. 二.右击Chart状态机,出现图上菜单 三.左边红色的勾选择,选择右侧的菜单,然后点击Generate Code按钮, ...