Ошибка Mongodb - Вне файловых дескрипторов. Подождите одну секунду, прежде чем пытаться принять больше соединений

Подробности

Вот что я вижу в файле логов

2014-09-08T10:22:43.143+0000 [initandlisten] ERROR: Out of file descriptors. Waiting one second before trying to accept more connections.
2014-09-08T10:22:43.360+0000 [conn9206] Assertion: 12520:new file allocation failure

Сведения об ограничении системных ресурсов -

ulimit -a

max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024

Сведения о системе

Ubuntu 12.04 LTS

Версия MongoDB

2.6.1

Также,

lsof -p монгопид

2028 дескрипторов открытых файлов

Может кто-нибудь помочь..? Я получаю это неоднократно на моем производственном сервере.. Посмотрел на Google.. Нашел эту проблему Монго закрыт -

https://jira.mongodb.org/browse/SERVER-6734

1 ответ

Решение

Похоже, ваши открытые файлы слишком маленькие. Вы должны добавить несколько строк в следующие файлы конфигурации (и изменить mongouser для имени пользователя, который запускает MongoDB):

/etc/security/limits.conf

mongouser soft nofile 32768
mongouser hard nofile 65535

/etc/sysctl.conf

fs.file-max = 500000

/etc/pam.d/login

session required pam_limits.so

/home/mongouser/.bashrc

ulimit -n 63535

После перезагрузки сервера новые ограничения будут введены.

Другие вопросы по тегам