在 Linux 系统中,查看当前系统级别的最大打开文件数限制(fs.file-max)有以下几种方法:
sysctl 命令可动态查看和修改内核参数,包括当前的系统级文件描述符限制:
输出示例:
fs.file-max = 9223372036854775807
Linux 内核将运行时参数暴露在 /proc/sys 目录下,可直接读取对应文件:
cat /proc/sys/fs/file-max
输出示例:
系统重启后生效的默认限制存储在 /etc/sysctl.conf 或 /etc/sysctl.d/ 目录下的配置文件中:
grep fs.file-max /etc/sysctl.conf
输出示例:
若未找到,则使用内核默认值(通常较大,但实际限制可能受其他因素影响)。
可通过以下命令查看系统当前已打开的文件描述符总数:
输出示例:
2560 0 9223372036854775807
- 三个值分别表示:已分配的文件描述符数、已分配但未使用的文件描述符数、系统最大文件描述符数(即
fs.file-max)。
- 实时值:通过
sysctl fs.file-max 或 /proc/sys/fs/file-max 查看当前生效的限制。
- 永久设置:检查
/etc/sysctl.conf 中的配置(需重启或执行 sysctl -p 生效)。
- 使用情况:通过
/proc/sys/fs/file-nr 监控系统当前的文件描述符使用量。
若需调整系统限制,可修改 /etc/sysctl.conf 并执行 sysctl -p 使其立即生效。