Linux server上too many open files问题
Posted 每天更强一点...
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux server上too many open files问题相关的知识,希望对你有一定的参考价值。
之前测试遇到了"too many open files"的问题。ulimit -Hn 查了下发现server上最大open file数是4096。写了个简单的脚本检测发现进程创建的fd个数在不断增加,8分钟之后达到上限然后程序报错,其中绝大部分fd都是关于socket的。
在server上安装lsof查看当前进程打开文件,并定位出现频率最高的通信主机和端口。最后发现是一个Java程序bug,每两秒执行一次的方法会不断创建新的httpclient。修正bug后进程创建的fd数稳定在24。
lsof -i -a -p $PID 可以列出进程打开的所有network files。所用的简单检测脚本为
#!/bin/bash cd /proc/$(ps -ef | grep appName | grep -v grep | awk ‘{print $2}‘)/fd while true do ls -l | grep socket | wc -l sleep 5 done
以上是关于Linux server上too many open files问题的主要内容,如果未能解决你的问题,请参考以下文章
Too many processes on Zabbix server 解决办法
中标麒麟 错误异常too many open files解决方法
今天碰到报错 Data source rejected establishment of connection, message from server: "Too many conne