RabbitMQ**警告**内存过载
RabbitMQ群集不接受新连接! 连接的套接字数较低,Rabbitmq日志中的唯一消息是: **警告**记忆超载RabbitMQ**警告**内存过载,rabbitmq,Rabbitmq,RabbitMQ群集不接受新连接! 连接的套接字数较低,Rabbitmq日志中的唯一消息是: **警告**记忆超载 这是什么意思?如何解决它?这可能发生在一系列情况下,从机器被挂起到运行时调度器选择首先让Mnesia forms没有机会运行,然后是大量时间(目标是在极其简洁的时间范围内触发大量事件) 如果你有机会,可以考虑使用Erlang 17 .x。一般来说,这并不是一个问题的迹象 有关更多详细信息,请参阅 在mac中: 删除/usr/local/var/lib/rabbitmq/ sudor
这是什么意思?如何解决它?这可能发生在一系列情况下,从机器被挂起到运行时调度器选择首先让Mnesia forms没有机会运行,然后是大量时间(目标是在极其简洁的时间范围内触发大量事件) 如果你有机会,可以考虑使用Erlang 17 .x。一般来说,这并不是一个问题的迹象 有关更多详细信息,请参阅 在mac中: 删除/usr/local/var/lib/rabbitmq/ sudorm-r/usr/local/var/lib/rabbitmq/ 和未经认证的拉比鸟 brew Unitsall rabittmq 然后安装它 brew安装rabbitmq 启动rabbitmq:
rabbitmq服务器我也遇到了这个问题,下面是我的解决方案: 日志文件:rabbit@localhost.log附件: 也就是说,进程可以使用的打开文件的数量超过了限制 我尝试在我的终端中运行
ulimit-n
,以查看在我的操作系统中,进程可以使用多少文件,并且您希望通过执行以下命令来增加此数量:
sudo launchctl limit maxfiles 1000000 1000000
希望它能解决您的问题。您需要增加
dc\u dump\u限制。根据文件:
-mnesiadc_转储_限制数量。控制从内存转储光盘拷贝的频率。在filesize(Log)>(filesize(Tab)/Dc\u dump\u limit)
时转储表。较低的值可以减少CPU开销,但会增加磁盘空间和启动时间默认值为4
因此,使用适当的`-mnesia dc\u dump\u limit=X启动Erlang可能有助于解决这种情况。这是一个警告,表明您的队列正在达到峰值。^这听起来像答案。为什么要注释?设置芹菜\u忽略\u结果=真,检查此链接如何设置Erlang参数?这是唯一正确的答案。与打开文件的数量等无关。它是完整记录的。通常,您可以忽略警告,但要注意日志文件使用的磁盘空间量。例如,在启动mnesia之前,使用application:set_env(mnesia,dump_LOG_write_threshold,5000)
(默认为100)。我不熟悉RabbitMQ,所以我不知道哪些配置文件可以用来设置阈值。该警告与dump\u log\u write\u threshold
有关,而与dc\u dump\u limit
无关。它只告诉您如何配置Mnesia,而不是RabbitMQ。Mnesia是Erlang的持久层。RabbitMQ设置了自己的Mnesia设置,但似乎没有任何配置方法。这可能有助于RabbitMQ开发人员解决此问题,但对我们没有帮助。这只是删除所有现有RabbitMQ并重新安装,您并没有解决问题,而是以一个干净的开始将其隐藏。