我連接到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