-
Notifications
You must be signed in to change notification settings - Fork 1.6k
ulimit
PolarBears edited this page Aug 2, 2017
·
2 revisions
如果运行一段时间后,你发现服务器无法连接,同时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来提升文件描述符限制
针对centos7,你还需要在/usr/lib/systemd/system/supervisord.service的service段添加
LimitNOFILE=512000
再启动你的服务