服务器

服务器文件句柄耗尽怎么排查:先找进程,再调整限制

资料核对与更新:2026-10-28 · 阅读约2分钟

网站出现 Too many open files 时,问题可能是连接泄漏或进程限制。本文说明检查范围、按进程定位和修改后的验证步骤。

固态硬盘与存储硬件
固态硬盘与存储硬件;作者:Gzen92;许可:CC BY-SA 4.0。主题示意配图,非本文操作截图。 图片来源 · 许可说明

服务日志提示 Too many open files,可能是进程打开的文件或连接达到限制。直接把全系统限制调得很高,未必能解决持续增长的连接泄漏,还可能让资源占用扩大。

先确定是哪一个服务

记录出错时间、进程和请求量。对照该进程的打开文件数量、进程自身限制以及系统整体情况;文件句柄不只包含普通文件,也可能涉及套接字、管道等。多个网站共用服务器时,应区分具体服务和所属站点。

找数量为什么增长

观察请求结束后连接和文件是否回落,检查长连接、未关闭的文件、日志轮转与异常重试。比较正常和故障时段,确认是预期并发上升,还是空闲后仍持续增长。避免在不了解用途时批量关闭其他进程的连接。

按服务方式调整

如果限制确实低于合理并发需求,先核对服务管理器配置和系统限制,再在测试环境逐步调整。不同启动方式可能使用不同限制,修改登录用户配置并不一定影响 systemd 服务。保留原设置和回退方法。

修复后重复相同负载并观察一段时间:错误消失、句柄数量可回落、其他站点资源正常,才说明问题得到控制。持续增长时应继续修代码或配置,而不是不断提高上限。

参考资料

资料核对日期:2026年10月28日。

systemd.exec 资源限制

Linux proc 文档

本文新增价值
针对服务器文件句柄耗尽整理常见误区、操作顺序和验证方法,区分官方资料说明与面向实际问题的维护建议。