首页 > 代码库 > Nginx: Too Many Open Files解决方案汇总

Nginx: Too Many Open Files解决方案汇总

在做Nginx高压力测试时,偶尔某台WEB的logs抛出Too Many Open Files,一般从以下3方面调优:

第一:nginx.conf参数规划与设置

worker_rlimit_nofile :限制单个工作进程打开的最大文件数:

首先查看这个值设置,推荐设置:越大越好

技术分享

第二:系统级别的检查与设置

就是 /etc/security/limits.conf的配置与修改,请参考Linux系统资源限制汇总

第三:内核级别的检查与设置:

fs.file-max值的大小设置:

注意:file-max的默认值大概是系统内存的10%(系统内存以kb计算),别设置的比系统默认的还小技术分享

在合理规划以上3个层次的设置后,必须做验证:

1.验证nginx程序的限制

# ps -ef |grep nginx

将得出的PID XXX带入下面

#cat /proc/XXX/limits

查看Max open files 那一行

2.验证系统级别的限制

# ulimit -n 

3.验证内核级别的限制

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

Nginx: Too Many Open Files解决方案汇总