首页/系统/Linux 内核与性能调优速查/fs.file-max 系统文件句柄上限
本包目录(357 条)
sysctl 内核参数72 条
CPU 与调度60 条内存与 OOM58 条磁盘与 IO32 条网络栈调优98 条性能分析工具37 条

fs.file-max 系统文件句柄上限

整个系统可打开的文件描述符总数上限,内核按内存规模自动计算初值;单进程限制则来自 limits。

参数fs.file-max
默认值启动时按内存自动计算(读现值确认)
当前占用/proc/sys/fs/file-nr 三个数:已分配 / 曾用峰值 / 上限

查看与调整

查看与调整
sysctl fs.file-max
awk '{print "allocated:",$1," max:",$3}' /proc/sys/fs/file-nr
sysctl -w fs.file-max=2097152
应用报 Too many open files 时先查进程级 nofile(ulimit/systemd),方向错了改它没有效果。

易错点

  • 系统总量与单进程限制是两层概念,混为一谈会修错对象
  • 大量句柄被占用常源于 fd 泄漏或连接未关闭,file-nr 持续接近上限时先定位进程

数据来源与参考

  • Linux 内核 Documentation/admin-guide/sysctl/fs.rst
  • man 5 proc(file-nr)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌