RabbitMQ ** ПРЕДУПРЕЖДЕНИЕ ** Mnesia перегружена

RabbitMQ Cluster не принимает новые подключения! Количество подключенных сокетов невелико, единственное сообщение в журнале Rabbitmq:

** ПРЕДУПРЕЖДЕНИЕ ** Mnesia перегружена

Что это обозначает? Как я могу решить это?

Ответ 1

Это может происходить при разных обстоятельствах: от зависания машины до планировщика времени выполнения, который сначала выбирает формы Mnesia без возможности запуска, а после этого - много времени (с целью, чтобы куча случаев срабатывала в чрезвычайно сжатой форме). период времени).

На случай, если вы можете, рассмотрите возможность использования Erlang 17.x. Как правило, это не является признаком проблемы.

Смотрите http://streamhacker.com/2008/12/10/how-to-eliminate-mnesia-overload-events/ для более подробной информации.

Ответ 2

В Mac: Удалите /usr/local/var/lib/rabbitmq/

sudo rm -r/usr/local/var/lib/rabbitmq/

и unintsall rabbitmq

варить unintsall rabittmq

чем установить его

Brew Install Rabbitmq

начало rabbitmq:

RabbitMQ-сервер

Ответ 3

Я столкнулся с этой проблемой, и вот мое решение:

Файл журнала: [email protected] прилагается:

opend

Это говорит о том, что количество моих открытых файлов, которые может использовать процесс, превышает ограничение.

Я попытался запустить ulimit -n в моем терминале, чтобы увидеть в моей ОС, сколько файлов может использовать процесс, и вы хотите увеличить это число, выполнив следующую команду:

sudo launchctl limit maxfiles 1000000 1000000

Надеюсь, это решит вашу проблему.

Ответ 4

Вам нужно увеличить dc_dump_limit. На основании документов:

-mnesia dc_dump_limit Number. Контролирует, как часто таблицы disc_copies сбрасываются из памяти. Таблицы сбрасываются при filesize(Log) > (filesize(Tab)/Dc_dump_limit). Более низкие значения уменьшают нагрузку на процессор, но увеличивают дисковое пространство и время запуска. По умолчанию 4.

Поэтому запуск Erlang с правильным '-mnesia dc_dump_limit = X может помочь исправить ситуацию.