Skip to content
Ava Miao edited this page Aug 12, 2017 · 1 revision

修改系统连接数

如果运行一段时间后,你发现服务器无法连接,同时ssh连上去后,查log的时候发现报很多这种错误Too many open files,那么是达到了系统的最大文件数

如果是 Ubuntu / Centos 均可修改 /etc/sysctl.conf

找到 fs.file-max 这一行,修改其值为 1024000,并保存退出。然后执行 sysctl -p 使其生效

打开文件 /etc/security/limits.conf

添加两行:

*               soft    nofile           512000
*               hard    nofile          1024000

针对 Centos,还需要于 /etc/pam.d/login 检查有没有 session required pam_limits.so,没有就加上。 保存后,重启操作系统生效。

针对 Ubuntu 系统,你还需要额外的在运行前使用 ulimit 命令设置最大文件数,可使用附带的运行脚本。

如果使用 supervisor 进程守护,需要修改文件 /etc/default/supervisor,添加一行:

ulimit -n 512000

还可以在 supervisord.conf 的 supervisord 字段下添加 minfds=512000 来提升文件描述符限制 针对 Centos 7,你还需要在 /usr/lib/systemd/system/supervisord.service 的 service 段添加

LimitNOFILE=512000

再启动你的服务

Clone this wiki locally