细节
这是我在日志文件中看到的内容
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 mongopid
2028 个打开文件描述符
有人能帮忙吗?我在我的生产服务器上反复遇到这个问题。在谷歌上查找。发现这个 mongo 问题已经解决 -
答案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/登录
session required pam_limits.so
/home/mongouser/.bashrc
ulimit -n 63535
重新启动服务器后,新的限制将生效。