ulimit永久设置方法

ulimit永久设置方法

ulimit永久调整为 1000000,最标准且推荐的方法是修改/etc/security/limits.conf文件。

📝 详细操作步骤

  1. 编辑配置文件:使用root权限打开/etc/security/limits.conf文件,例如:

    vim/etc/security/limits.conf
  2. 添加配置项:在文件末尾添加以下两行内容。*代表对所有用户生效,soft为软限制,hard为硬限制。

    * soft nofile 1000000 * hard nofile 1000000
  3. 使配置生效:保存文件并退出。你需要退出当前会话并重新登录,新的限制才会对当前用户生效。之后可以用以下命令验证:

    ulimit-n

⚠️ 重要注意事项

在操作前,请务必留意以下几点,否则设置可能失败甚至导致无法登录:

  • 系统全局上限/etc/security/limits.conf中设置的hard nofile值,不能超过/proc/sys/fs/nr_open这个内核参数的值。如果设置的hard limit大于nr_open,用户重新登录时可能会失败。

    • 检查方法:运行cat /proc/sys/fs/nr_open查看当前值。如果nr_open小于 1000000,需要先修改它。
    • 修改方法(如需):通过修改/etc/sysctl.conf文件,添加fs.nr_open = 1000000,然后执行sysctl -p使其生效。
  • 系统文件描述符总量:所有进程打开的文件描述符总数受/proc/sys/fs/file-max限制。虽然通常足够,但也建议检查一下。

    • 检查方法:运行cat /proc/sys/fs/file-max
    • 修改方法(如需):在/etc/sysctl.conf中添加fs.file-max = 1000000,然后执行sysctl -p
  • 关于limits.d目录:一些系统(如 CentOS)在/etc/security/limits.d/目录下可能有特定服务的配置文件,其优先级高于limits.conf。如果你的修改不生效,可以检查该目录下是否有同名配置项覆盖了设置。