【问题标题】:RabbitMQ connection in blocking state?RabbitMQ 连接处于阻塞状态?
【发布时间】:2012-05-03 07:34:26
【问题描述】:

当时我连接到 RabbitMQ 服务器,我的连接显示为阻塞状态,我无法发布新消息 我有 6 GB 的可用内存,磁盘空间也约为 8 GB

如何在 RabbitMQ 中配置磁盘空间限制

【问题讨论】:

标签: java rabbitmq


【解决方案1】:

我遇到了同样的问题。似乎rabbitmq服务器使用的内存超过了阈值

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

我运行了以下命令来取消阻止这些连接:

rabbitmqctl set_vm_memory_high_watermark 0.6

(默认值为 0.4)

【讨论】:

  • 上述命令应在rabbitmq仍在运行时运行,并立即反映。
【解决方案2】:

默认情况下,[disk_free_limit](source: [1]) 必须超过可用 RAM 的 1.0 倍。在您的情况下确实如此,因此您可能需要检查究竟是什么阻塞了流程。为此,请阅读 [rabbitmqctl man](source: [2]),然后运行 ​​last_blocked_by 命令。这应该会告诉您阻塞的原因。

假设它是内存(并且您不知何故没有正确计算可用磁盘空间),要更改 disk_free_limit,请阅读 [配置 rabbitmq.config](来源:[1]),然后打开您的 rabbitmq.config 文件并添加以下行:{rabbit, [{disk_free_limit, {mem_relative, 0.1}}]} 在配置声明中。我的 rabbitmq.config 文件如下所示:

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

当然,具体数字由你决定。

来源

  1. http://www.rabbitmq.com/configure.html#configuration-file
  2. http://www.rabbitmq.com/man/rabbitmqctl.1.man.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    相关资源
    最近更新 更多