Linux too many open files

31 篇文章 0 订阅

产生原因

从字面意思上看就是说程序打开的文件数过多,不过这里的files不单是文件的意思,也包括打开的通讯链接(比如scoket),正在监听 的端口等等。所以有时候也可以叫做句柄(handle),这个错误通常也可以叫做句柄数超出系统限制。通过

ulimit -a可以查看当前系统设置的最大句柄数是多少?

open files那一行就代表系统目前允许单个进程打开的最大句柄数。

解决

1、先通过jps等其它方式找到要排查的进程

2、cat /proc/<PID>/limits,查看其设置的最大文件数是多少。

3、ls /proc/<PID>/fd,可以查看具体打开发什么东西。

4、经过上面查看,如果不是操作系统限制所致,可能是程序是使用网络连接时,没有正常关闭,或者使用文件时没有正常关闭。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值