整理迪拜服务器文件句柄耗尽(too many open files)的排查实战。
文件句柄耗尽会导致服务异常。以下是排查实战。
一、现象 - 报 too many open files - 无法建立连接 - 无法打开文件
二、定位 1) 查看系统句柄上限 2) 查看进程句柄上限 3) 统计当前打开句柄 4) 找出占用最多的进程
三、常用命令 - ulimit -n - cat /proc/sys/fs/file-nr - lsof -p PID | wc -l - ls /proc/PID/fd | wc -l
四、常见原因 1) 句柄未关闭(泄漏) 2) 上限设置过小 3) 连接数过多 4) 大量小文件
五、解决 - 修复句柄泄漏 - 调大 ulimit 和系统上限 - 优化连接管理 - 合并小文件
六、预防 1) 句柄监控 2) 合理上限 3) 代码审查 4) 连接池管理
总结:句柄耗尽要定位到进程,修复泄漏并调大上限,做好监控。