RabbitMQ连接处于阻塞状态?

时间:2012-05-03 07:34:26

标签: java rabbitmq

我连接到RabbitMQ服务器,我的连接显示在阻塞状态,我无法发布新消息 我有6 GB的RAM,磁盘空间也大约是8GB

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

2 个答案:

答案 0 :(得分:8)

我遇到了同样的问题。看起来像rabbitmq服务器使用的内存多于阈值

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

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

rabbitmqctl set_vm_memory_high_watermark 0.6

(默认值为0.4)

答案 1 :(得分:2)

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

假设它是内存(并且你以某种方式没有正确计算你的可用磁盘空间),要更改disk_free_limit,请阅读[configuration 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