Ошибка 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.. Нашел эту проблему Монго закрыт -
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
После перезагрузки сервера новые ограничения будут введены.