too many open files

中午我的Linode服务器又犯了老毛病,所有网站都不能访问。是因为服务器的nginx不停出错,输出的错误日志(error.log)塞满了整个分区。删除掉错误日志文件并重启nginx以后可以恢复正常。
我查看了一下错误日志的内容,发现全部是“Too many open files while accepting new connection on 0.0.0.0:80”。用Too many open files搜了一下,找到了一个解决方案。
先查了一下文件系统最大可打开文件数:
root@li55-4:~# cat /proc/sys/fs/file-max
70133
于是用ulimit修改了一下:
root@li55-4:~# ulimit -n 10240
这下把最大打开文件数从1024提高到了10240,应该够用了吧。
最后把”ulimit -n 10240″这一行增加到/etc/rc.local中,以保证每次系统启动都能生效。
这样做是否有效,还有待后续观察。
经过实测,在rc.local中加入这一行是没有效果的,使用ulimit -n 10240进行修改也仅能影响到当前的shell。对这个问题,老王做过的探索,请移步此处查看。修改后,需要重启一次方可生效。
感谢智勇发现问题。

 

遇到 ``Too many open files (打开文件太多)" 的错误, 怎样增加同时打开文件的允许数目?

通常有至少两个资源限制了同时打开文件的数目: 操作系统可用的低层  ``文件说明符" 或 ``文件句柄" 的数目; 和标准 stdio  函数库可用的 FILE 结构数目。两个条件必须符合。在 MS-DOS 下, 可以通过设置 CONFIG.SYS, 可以控制系统文件 handle 的数目。一些编译器附有增加 stdio 的 FILE 结构数目的指令  (也许是一两个源文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值