队列的 Rabbitmq msg_store_transient 正在消耗所有磁盘 space

Rabbitmq msg_store_transient of a queue is consuming all disk space

erlang 版本 = 1:24.0.2-1

rabbitmq-server 版本 = 3.8.16-1

最近在 Ubuntu20 上安装了最新的 rabbitmq。 我确认一切正常,消费者正在根据需要使用来自消息队列的通知。

大约一天后,rabbbitmq 崩溃了,因为还剩下 0 个磁盘 space。

经过分析发现msg_store_transient消耗了10G左右,重启rabbitmq解决了问题。 但是过了一天,又出现了。

有人可以进一步帮助我吗?

很可能您正在使用消息而不发回 basic_ack,例如 here ch.basic_ack

要做什么:

  • 检查未确认的消息,请参阅:
  • 检查您是否使用了太多非持久消息
  • 检查您是否使用了太多非持久性队列

问题已解决:

  1. 我们有大量就绪消息,因为 rdq 文件占用了大量资源space
  2. 代码中存在一个错误,即只监听一个队列而不是全部。