8.ERROR:TOO MANY OPEN FILES:

文章讲述了当系统出现Toomanyopenfiles错误时,可能的原因是句柄数限制及内核参数不足。作者首先尝试修改/etc/security/limit.conf中的nofile限制,然后调整了sysctl.conf中的fs.inotify相关参数,并通过sysctl-p使改动生效,成功解决了问题。
摘要由CSDN通过智能技术生成

1.文件描述

系统打开文件数过多报错:Error :Too many open files 

2.原因分析

报这个错可能与如下因素有关

(1)cat /etc/security/limit.conf 里面配置的句柄数

* soft nproc    1048576
* hard nproc    1048576                                                           
* soft nofile   1048576
* hard nofile   1048576                                                        
* soft stack    1048576
* hard stack    1048576
 

(2)内核参数

fs.file-max=1048576    
fs.inotify.max_queued_events =16384
fs.inotify.max_user_watches = 1048576
fs.inotify.max_user_instances = 1048576

fs.file-max=1048576 :最大打开文件句柄数。

fs.inotify.max_queued_events :表示调用 inotify_init 时分配给inotify instance中可排队的event的数目的最大值,超出这个值的事件被丢弃,但会触发IN_Q_OVERFLOW事件。
fs.inotify.max_user_instances :表示每一个real user ID可创建的 inotify instatnces 的数量上限,默认128.
fs.inotify.max_user_watches :表示同一用户同时可以添加的watch数目(watch一般是针对目录,决定了同时同一用户可以监控的目录数量)

3.处理。

1.我首先修改了: /etc/security/limit.conf 里面

* soft nofile   1048576
* hard nofile   1048576  

但是没有凑效。

2.于是又修改了

vi /etc/sysctl.conf 

fs.inotify.max_user_watches = 1048576
fs.inotify.max_user_instances = 1048576 

sysctl -p

加入如下参数并使之生效,果然上面的报错消失

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值