java.io.IOException: Too many open files错误解决方案

部署在LINUX上的SSO服务器近日每隔几天就会当掉,查看日志有这样的错误:java.io.IOException: Too many open files。网上查了下,说是由于linux有打开文件句柄的限制。可以使用ulimit -a 查看当前用户可最大打开的文件句柄数,如果没有设的话默认值是1024,并可以通过ulimit -u xxx进行修改。但是这个修改如果是在通过SSH工具进行登录的客户端窗口上做的话,只能暂时生效,当窗口一关闭,下次看还是1024这个默认值。如果要永久生效,必须修改/etc/security/limits.conf文件,在上面加入

* - nofile 204   这样就可以一直生效了。

注:1.(此时type用“-”,表示hard和soft同时设定。domain设置为星号代表全局,也可以针对不同的用户做出不同的限制)

  2. 不过之前启动过的程序要重新启动才能使用新的值。



【解决办法】vi /etc/security/limits.conf


在底部新增下面4行:
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535

保存后退出。

说明:

soft nproc: 可打开的文件描述符的最大数(软限制)

hard nproc: 可打开的文件描述符的最大数(硬限制)

soft nofile:单个用户可用的最大进程数量(软限制)

hard nofile:单个用户可用的最大进程数量(硬限制)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值