日期:2014-05-16 浏览次数:20656 次
在做linux服务器程序的时候,当流量上来,linux服务器的默认单进程的文件打开数肯定是不够的,
一般非root用户进程默认只有1024个文件打 开权限,所有对文件的操作,对网络的操作,在linux下都作为一个文件打开,所以在并发量大的时候,这个限制很快就达到了。
一旦达到这个限制,应用程序 就会报一个:too many open files的错误。
?
?
解决这个问题就需要增大这个限制.....
当前设置最大打开文件数可以通过如下命令查看。
ulimit -n 1024
?
通过以下命令修改
?
ulimit -n 10240
?
这样并发文件数就达到了10240,不过这么设置,重启机器后不能保存。见下面的方法2:
?
修改 /etc/security/limits.conf文件中设置最大打开文件数
添加如下这行。
????? * - nofile 30000
这行设置了每个用户的默认打开文件数为30000。注意"nofile"项有两个可能的限制措施。就是项下的hard和soft。要使修改过得最大打开文件数生效,必须对这两种限制进行设定。 如果使用"-"字符设定, 则hard和soft设定会同时被设定。