too many open files 解决方案
1、如遇到应用程序too many open files 报错
ps -ef|grep xxxx
cd /proc/进程号/
cat limits
`Max open files 9999 9999 files `
2、查看当前 open flies
限制
root@ip-172-31-30-45:~# ulimit -n
1024
3、解决方法:
3.1
在当前窗口执行 ulimit -n 65536
命令,重启应用程序,但只对当前窗口启动的程序生效.
3.2
编辑/etc/security/limits.d/90-nproc.conf
文件,可长久生效。
[root@mysql]# cat /etc/security/limits.d/90-nproc.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
4、查询系统中各进程打开文件排行,第一列是打开文件描述符数量,第二列是PID
lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
5、lsof -p 进程号
查询正在打开文件描述符,或者进入/proc/PID/fd
目录中查看。
6、引申
有些应用程序内置参数是可以控制open files
限制的,比如MySQL数据库有open_files_limit
参数,会根据一些算法决定最终open files 限制。
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_open_files_limit
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)