too many open files 的问题怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了too many open files 的问题怎么解决相关的知识,希望对你有一定的参考价值。

这是因为网络请求过多,也就导致了系统打开的文件过多。每一个连接都会当成“文件”看待的。

于是用命令

ulimit -a

(效果:查看每个用户允许打开的最大文件数)

看到最大文件数是1024,将其更改大点,如

ulimit -n 4096

然后必须重启下网络服务,我用的是WebLogic,重启之后便没有出现异常。

导致 Too many open files ,网络请求过多是一种可能,但也有可能是程序上的缺陷,如没有释放一些文件句柄,程序open了文件却忘记了在最后close。但我确信工程中没有用到打开文件这一环节,因此这个可能是排除掉了。

用lsof -p [进程ID] 可以看到某ID的打开文件状况。进程ID可能用 ps -ef|grep java列出weblogic的进程ID,然后用此ID套入lsof -p ID号,咳,一大堆的请求哟,这显然是网络请求过多造成了 Too many open files。适当调整后便已消除这种现象。

相关日志
Linux下的几种桌面
Java 8 正式发布,新特性全搜罗
Facebook:Java漏洞曾使员工电脑被安装恶意软件
甲骨文发布Java紧急更新 专家称未修复漏洞
Linux下socket最大连接数 ulimit -n 最大值修改
参考技术A 太多文件被打开了,你需要关闭一些窗口了。

以上是关于too many open files 的问题怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

打开的文件过多 Too many open files问题分析及解决方案

Too Many Open Files(打开的文件过多)

Too many open files的四种解决办法

当服务器出现“open too many files”错误时,应该怎么处理?

Too many open files 问题

open /data/prometheus: too many open files