调整Linux的最大文件打开数
要调整一下Linux的最大文件打开数,否则squid在高负载时执行性能将会很低。另外,在Linux下面部署应用时,有时候会遇上 Socket/File:Can’t open so many files这样的问题,这个值也会影响服务器的最大并发数。其实Linux是有文件句柄限制的,但默认不是很高,一般是1024,生产服务器很容易就会达 到这个值,所以需要改动此值。刚开始我采用vim/etc/security/limit.conf命令,在最后一行添加如下代码:
* soft nofile 60000
* hard nofile 65535
但重启后一切都还原了。
正解做法应该为在Centos5.5的/etc/rc.local文件里添加如下命令行:
ulimit -SHn 65535
当然了,我们也可以在Nginx的一些监控脚本里实时添加此命令行,达到重启也能生效的目的。
另外,ulimit -n命令并不能真正看到文件的最大文件打开数,大家可用如下脚本查看:
#!/bin/bash
for pid in 'ps aux |grep nginx |grep -v grep|awk '{print$2}''
do
cat /proc/${pid}/limits |grep 'Max open files'
done