默认情况下linux文件系统最大可打开文件数为1024 ,对于一个应用于生产环境下的服务器来说,这个设置太 下,例如在用nginx做web服务器,当并发达到一定数量时,可以看到error.log里出现大量的“Nginx accept() failed (24: Too many open files)” 错误。解决这个问题的办法有两种:
方法一: 使用ulimit -n 655350 把打开文件上限设置为655350,同时还需要修改nginx的配置文件,把worker_rlimit_nofile 值设置为一样。
注意:通过ulimit修改打开文件上限只会影响当前shell环境,所以这是一个临时解决方法,终极解决方法使用方法二。
方法二: 在/etc/security/limits.conf文件中添加如下信息:
* soft nofile 655360 * hard nofile 655360
注意:这个方法修改后必须重启机器才能使之生效。
转载:http://www.netingcn.com/nginx-too-many-open-files.html
本文介绍了在Linux环境下如何调整文件描述符的最大限制数,以解决因文件描述符不足导致的应用程序错误。提供了两种方法,一种是临时性的通过ulimit命令进行调整,另一种是永久性的修改limits.conf文件。
691

被折叠的 条评论
为什么被折叠?



