Ubuntu ulimit如何调整打开文件限制以优化系统性能和稳定性?

更新于
2026-10-01 04:41:15
2阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

什么是 ulimit?为什么需要调整打开文件限制?

ulimit是 Linux 中用于控制单个进程可使用程序资源上限的命令。-n 参数具体指的是该进程可以同时打开的文件描述符数量。 说起来,文件描述符是内核用来标识打开的文件、 socket、管道等资源的整数句柄。当一个进程尝试打开超过其允许数量的文件时内核会返回 “Too many open files” 错误,导致应用异常、服务不可用甚至程序不稳定。

使用者常见痛点——何时会感到“文件太多”?

查看当前会话的打开文件限制

在终端直接运行: $ ulimit -n

Ubuntu ulimit如何调整打开文件限制以优化系统性能和稳定性?

临时调整

使用同名命令即可修改: $ ulimit -n 4096

  • $ sudo vim /etc/security/limits.conf
    • soft nofile 4096
    • hard nofile 8192 root soft nofile 8192 root hard nofile 8192

  • /etc/pam.d/common-session或 /etc/pam.d/login 必须包含: session required pam_limits.so
  • $ sudo sysctl -p而 limits.conf 需要新登录后才能读取。
  • soft 设置为 4096–8192hard 能够调至 65535 或更高,以防突发流量导致瞬间耗尽.

    监控 已打开的文件描述符数,并在接近硬限制时提前预警. 可以在 service unit 中直接覆盖 LimitNOFILE。例如:LimitNOFILE=65535这样无需全局修改 limits.conf.
  • daemon.json 中配置 "default-ulimits": {"nofile": {"Name": "nofile","Hard": 65535,"Soft": 4096}} 或在 pod 的 securityContext 中设置 resources.limits.nofile 能减少容器继承宿主低额度.
    Ubuntu ulimit如何调整打开文件限制以优化系统性能和稳定性?

    -n 参数>

    。

    标签:Ubuntu

    什么是 ulimit?为什么需要调整打开文件限制?

    ulimit是 Linux 中用于控制单个进程可使用程序资源上限的命令。-n 参数具体指的是该进程可以同时打开的文件描述符数量。 说起来,文件描述符是内核用来标识打开的文件、 socket、管道等资源的整数句柄。当一个进程尝试打开超过其允许数量的文件时内核会返回 “Too many open files” 错误,导致应用异常、服务不可用甚至程序不稳定。

    使用者常见痛点——何时会感到“文件太多”?

    查看当前会话的打开文件限制

    在终端直接运行: $ ulimit -n

    Ubuntu ulimit如何调整打开文件限制以优化系统性能和稳定性?

    临时调整

    使用同名命令即可修改: $ ulimit -n 4096

  • $ sudo vim /etc/security/limits.conf
    • soft nofile 4096
    • hard nofile 8192 root soft nofile 8192 root hard nofile 8192

  • /etc/pam.d/common-session或 /etc/pam.d/login 必须包含: session required pam_limits.so
  • $ sudo sysctl -p而 limits.conf 需要新登录后才能读取。
  • soft 设置为 4096–8192hard 能够调至 65535 或更高,以防突发流量导致瞬间耗尽.

    监控 已打开的文件描述符数,并在接近硬限制时提前预警. 可以在 service unit 中直接覆盖 LimitNOFILE。例如:LimitNOFILE=65535这样无需全局修改 limits.conf.
  • daemon.json 中配置 "default-ulimits": {"nofile": {"Name": "nofile","Hard": 65535,"Soft": 4096}} 或在 pod 的 securityContext 中设置 resources.limits.nofile 能减少容器继承宿主低额度.
    Ubuntu ulimit如何调整打开文件限制以优化系统性能和稳定性?

    -n 参数>

    。

    标签:Ubuntu