-
Notifications
You must be signed in to change notification settings - Fork 1
ulimit
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
再启动你的服务
赵大后端 supervisord 段落待修正,实际搭建时按这个设置会无法输出日志