我连接到RabbitMQ的服务器时间阻塞状态,我不能发布新的消息 我的连接显示我有6 GB可用和磁盘空间的RAM也大约8GBRabbitMQ连接处于阻塞状态?
如何在RabbitMQ的配置磁盘空间限制
我连接到RabbitMQ的服务器时间阻塞状态,我不能发布新的消息 我的连接显示我有6 GB可用和磁盘空间的RAM也大约8GBRabbitMQ连接处于阻塞状态?
如何在RabbitMQ的配置磁盘空间限制
默认情况下,[disk_free_limit](来源:[1])必须超过可用RAM的1.0倍。在你的情况中,这是真的,所以你可能想要检查什么阻止了流程。为此,请阅读[rabbitmqctl man](来源:[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}}]}
].
具体的数字取决于您当然。
来源
我得到了同样的问题。看起来像的RabbitMQ服务器使用更多的内存比阈
http://www.rabbitmq.com/memory.html
我跑以下命令解除封锁这些连接:
rabbitmqctl set_vm_memory_high_watermark 0.6
(默认值是0.4)
你能提供更多信息吗?也许在浏览器中编写管理GUI的快照。 – robthewolf
代码明智,相关修复和讨论: http://stackoverflow.com/questions/14386392/how-to-detect-alarm-based-blocking-rabbitmq-producer/17104037#17104037 – hellojava