Linux文件句柄数限制进程可打开的文件等资源数量,高并发服务需调大以防“Too many open files”错误;可通过/proc、ulimit、sysctl等命令查看和临时修改,永久配置需设置limits.conf、sysctl.conf及systemd服务LimitNOFILE参数。

Linux文件句柄数(file descriptor limit)限制了进程能同时打开的文件、socket、管道等资源数量。高并发服务(如Web服务器、数据库、消息队列)若不调大该限制,容易出现 Too many open files 错误,导致连接拒绝或服务异常。
快速定位是否已达上限:
ls /proc/<pid>/fd | wc -l</pid>
cat /proc/<pid>/limits | grep "Max open files"</pid>
cat /proc/sys/fs/file-max
ulimit -n(软限制),ulimit -Hn(硬限制)适用于调试或紧急扩容:
ulimit -n 65536(需小于等于硬限制)ulimit -Hn 65536,再设软限制echo 2097152 > /proc/sys/fs/file-max
需多层配置,确保服务启动时加载正确值:
pam_limits.so 已启用(检查 /etc/pam.d/common-session 或对应登录配置)sysctl -p 生效/etc/systemd/system/nginx.service.d/override.conf:systemctl daemon-reload && systemctl restart nginx
修改后务必验证实际生效效果:
/proc/<pid>/limits</pid>
docker run 中加 --ulimit nofile=65536:65536,或在 docker-compose.yml 的 ulimits 字段配置以上就是Linux文件句柄数如何修改_高并发场景配置说明【教学】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号