ulimit -n 显示当前会话文件描述符软限制,软限制是实际生效值,硬限制是其上限;需用 ulimit -sn 和 ulimit -hn 分别查看,且修改后常需重启会话才能生效。

直接运行 ulimit -n 就能查看当前用户在当前 Shell 会话中允许打开的文件描述符(即文件打开数)的软限制值。
区分软限制与硬限制
软限制是进程实际生效的上限,硬限制是软限制能提升到的最高值。常用命令如下:
- ulimit -Sn:只显示软限制(soft nofile)
- ulimit -Hn:只显示硬限制(hard nofile)
- ulimit -a | grep "open files":在完整限制列表中定位 open files 行,同时看到软硬限制
注意作用范围
这个值反映的是当前登录会话(或当前 shell)的用户级限制,由 ulimit 设置,不等于系统总能力,也不代表某个具体进程当前已打开多少文件。
它受三重影响:当前会话设置 → 用户 limits.conf 配置 → 系统内核参数 fs.file-max。若刚登录,该值通常来自 /etc/security/limits.conf 或 shell 初始化文件(如 ~/.bashrc)。
验证是否生效的小技巧
修改后建议新开一个终端或重新登录再执行 ulimit -n,因为部分环境(尤其使用 systemd 的发行版)要求完整会话重启才能加载 PAM limits 配置。











