关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

linux-出现“too many open files”解决方法

发布时间:2018-05-19 23:14:06

linux环境中启动/重启nginx报以下错误日志:

nginx: the configuration file /www/server/nginx/conf/nginx.conf syntax is ok
nginx: [emerg] open() "/www/wwwlogs/***.log" failed (24: Too many open files)
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

分析这是因为linux默认设置了软硬文件句柄和打开文件的数目,程序打开的文件/socket连接数量超过了系统设定值。

查看当前操作系统默认允许打开的文件数:
# ulimit -n

查看当前已经打开的文件数:
# lsof|wc -l

#cat /proc/sys/fs/file-max

1·在Linux系统级别上提高打开文件的限制,设置最大文件数:
# vi /etc/security/limits.conf
末尾增加:
* soft nofile 800000
* hard nofile 800000


# vi /etc/sysctl.conf
末尾增加:
fs.file-max = 800000

保存并关闭,最后重新载入sysctl命令,以使以上改变生效:
#sysctl -p

2·nginx也有同样的限制,可以通过worker_rlimit_nofile来增加此限制数量。
#vi nginx.conf
增加或修改:
worker_rlimit_nofile  800000;


/template/Home/Zkeys/PC/Static