mongoDB非法终止

doMore 827 2019-10-28

记一次mongoDB总是非法终止:

log server error: Too many open files

是因为linux下一次性打开的 files (不仅仅是文件、包括socket、正在监控的端口等等)太小导致。 需要修改普通用户最多修改到4096,再大需要使用root权限 lsof -p 进程id | grep -l 可以统计打开多少文件 lsof -p 进程id > 文件名 将打开的文件直接写在文件中便于查看

ulimit -a 可以查看目前系统中可以允许被打开的最大files数量。

1. ulimit -n 2048 此命令修改可以打开的最大句柄数。(临时性的,系统重启就失效)

2. vim /etc/security/limits.conf

在最后修改
* soft nofile 4096  
* hard nofile 4096  
或者只加入
* - nofile 8192


最前边 * 号表示所有用户(指定用户也可以),-(nofile中包括soft、hard限定项)会对soft、hard都进行限制。