11
2016
08

mongodb关于最大连接数修改【续】

解决问题:Invariant failure: ret resulted in status UnknownError 24: Too many open files at src/mongo/db/storage/wiredtiger/wiredtiger_session_cache.cpp 73

上次文章《mongodb最大连接数修改》,但没有彻底,重启机器后仍有问题

按照官方的建议https://docs.mongodb.com/manual/reference/ulimit/#recommended-ulimit-settings, 由于centos 6的最大进程连接数为1024,我们就增加一个限制设定的配置

Red Hat Enterprise Linux and CentOS 6 place a max process limitation of 1024 which overridesulimit settings. Create a file named /etc/security/limits.d/99-mongodb-nproc.confwith new soft nproc and hard nproc values to increase the process limit. See/etc/security/limits.d/90-nproc.conf file as an example.


按照官方推荐的设置

-f (file size): unlimited
-t (cpu time): unlimited
-v (virtual memory): unlimited [1]
-n (open files): 64000
-m (memory size): unlimited [1] [2]
-u (processes/threads): 64000

由于服务器只有openfiles不匹配且比推荐的小,另外process/threads比腿甲大, 所以其中99-mongodb-nproc.conf的内容如下:

# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

root       soft    nproc     unlimited
root       hard    nproc     unlimited
root       soft    nofile    64000
root       hard    nofile    64000

设计后重启机器,可用ulimit -a看到值已经更改,问题解决。



« 上一篇

评论列表:

不错,学习了!!!
2.甲子百科  2017/3/26 19:56:56 回复该留言
是不是ulimit -n 20000
20000太少了所以报错了
3.甲子百科  2017/3/26 19:59:54 回复该留言
看错了,是为了解决重启配置失效的问题。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。