linux 中的Too many open file要如何解决

linux as 3,内核2.4。服务经常出现Too many open file错误!请问如何调整“操作系统的中打开文件的最大句柄数”?  谢谢!

/proc/sys/kernel/file-max,要永久生效需修改/etc/sysctl.conf
随便baidu了一下

使用/proc文件系统来控制系统
/proc/sys/fs
/proc/sys/fs/file-max
该文件指定了可以分配的文件句柄的最大数目。如果用户得到的错误消息声明由于打开文件数已经达到了最大值,从而他们不能打开更多文件,则可能需要增加该值。可将这个值设置成有任意多个文件,并且能通过将一个新数字值写入该文件来更改该值。

缺省设置:4096

/proc/sys/fs/file-nr
该文件与 file-max 相关,它有三个值:
已分配文件句柄的数目
已使用文件句柄的数目
文件句柄的最大数目
该文件是只读的,仅用于显示信息。

所以不存在两个文件的配合修改问题,主要修改file-max就行了

3. ulimit -a中
open files                    (-n) 1024

也即是ulimit -n

-n     The maximum number of open file descriptors (most systems
                     do not allow this value to be set)

ulimit -n <可以同时打开的文件数> 设置用户可以同时打开的最大文件数(max open files)

  例如:ulimit -n 8192   

  如果本参数设置过小,对于并发访问量大的网站,可能会出现too many open files的错误  



我看一些文章,建议在/etc/rc.d/rc.local中修改/proc/sys/fs/file-max、/proc/sys/fs/file-nr的内容
cat /proc/sys/fs/file-max
209695

cat  /proc/sys/fs/file-nr
4483    3550    209695

请问这2个文件要如何配合修改?

3。采用ulimit -a出现如下描述

$ulimit -a

core file size        (blocks, -c) 0
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
max locked memory     (kbytes, -l) 4
max memory size       (kbytes, -m) unlimited
open files                    (-n) 1024
pipe size          (512 bytes, -p) 8
stack size            (kbytes, -s) 10240
cpu time             (seconds, -t) unlimited
max user processes            (-u) 7168
virtual memory        (kbytes, -v) unlimited
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值