linux文件描述符限制

1.linux下系统抛出"Too many open files" 原因:

打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。文件描述符是一个简单的整数,用以标明每一个被进程所打开的文件和socket。第一个打开的文件是0,第二个是1,依此类推。文件描述符有上限限制,当超过限制后就会抛出此错误。

2.可用ulimit -a 查看文件限制

. . . . . .

open files                      (-n) 1024

. . . . . .

可以看出,对open files的限制数是1024,我们可以通过修改这个值来增加可以打开的文件数。

3.解决方法:

(1).临时修改:

将其改为2048,用 limit -HSn 2048 .
当你把open files的值增大到一定程度,你的Too many open files就不会再出现了。

此修改只对当前的shell有效,退出后无效。

(2)若要永久改变这两个参数值,就要修改/ect/security/limits.conf,在文件中加上两行:
root    soft    nofile  65535

root    hard    nofile  65535

admin   soft    nofile  65535

admin   hard    nofile  65535

ads     soft    nofile  65535

ads     hard    nofile  65535

soft<=hard soft的限制不能比hard限制高

http://xgw1008.blog.163.com/blog/static/567573562010421115439612/

posted @ 2012-09-11 19:48  既有缘  阅读(669)  评论(0)    收藏  举报