一般情况下,修改进程可打开文件数量的配置文件 /etc/security/limits.conf,加入如下内容:
* - nofile 65535
重新登陆后就可以生效了
bash 命令ulimit -HSn 65535针对当前session可立即生效
但是已经运行的程序可能仍然没有改变,查看方式:cat /proc/"pid"/limits
此种请况下,要么手动启动服务,要么手动修改proc下文件内容
echo -n "Max open files=65535:65535">/proc/pid/limits
别以为上面的设置了就万事情大吉了,当操作系统重启后,随系统自启动的程序(chkconfig on的daemon)是不会应用这些设置的,考虑到生产系统应该很少重启,所以的当系统启动后,可检查下相关设置,可手动重启。
当然你也不用担心太多,许多有文件打开数量限制需求的程序一般都有程序配置参数可以配置的,如
Nginx 的nginx.conf: worker_rlimit_nofile 65535;
MySQL的my.cnf: open-files-limit = 65535
只要在配置文件里添加了相关配置就可以了。