陈德馨

Too many open files 报错的解决方法

768人参与 |分类: 运维时间|时间:2015年02月09日 18:14

Too many open files 报错是 Linux 系统常见的故障,网络上也能轻易的找到解决办法,Linux系统配置open files table的文件限制,如果超过配置值,就会拒绝其它文件操作的请求,并抛出Too many open files异常。这种限制有系统级和用户级之分。我也只是在工作中遇到了这个问题,所以在博客记录下,以备不时之需。

一、报错截图:

图为resin的报错日志,很明显提示了Too many open files:

openfile1.png

二、临时解决

临时的解决办法很简单,先执行 ulimit -n 65535,然后重启 resin 即可。

Ps:请注意启动环境是否生效:切换到resin的启动身份,执行 ulimit -n 查看当前的最大文件打开数是否已优化。

三、永久生效

方法一:

可讲 ulimit -n 65535 添加到 /etc/profile 的最后即可;

echo "ulimit -n 65535" >>/etc/profile

#刷新配置

source /etc/profile

方法二:

修改 /etc/security/limits.conf 文件,在最后添加以下内容即可:

* soft noproc 65535

* hard noproc 65535

* soft nofile 65535

* hard nofile 65535

或者直接执行如下代码亦可:

echo '* soft noproc 65535

* hard noproc 65535

* soft nofile 65535

* hard nofile 65535'>>/etc/security/limits.conf

使用方法一,登陆普通账号的时候,会报无权限错误,所以推荐使用方法二。需要说明的是,不管使用哪一种方法,修改生效后,需要重启应用才行,否则程序将延续使用旧的环境设置。

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 0 人评论,请发表您的观点。