可能是全网最全的 ulimit 配置说明了

💡 原文中文,约2200字,阅读约需6分钟。
📝

内容提要

本文讨论了在 Debian 11 中正确设置 ulimit 的方法,强调需修改 /etc/systemd/system.conf 和 /etc/systemd/user.conf 文件以确保配置生效,同时调整 PAM 配置,特别是 /etc/security/limits.conf,注意通配符对 root 用户不生效。

🎯

关键要点

  • ulimit 设置不当可能导致问题,如 too many open files。
  • Debian 11 中,正确的 ulimit 设置需修改 /etc/systemd/system.conf 和 /etc/systemd/user.conf。
  • system.conf 适用于系统实例,user.conf 适用于用户实例。
  • 确保 ulimit 配置生效需要重启系统。
  • 通过 ssh 远程登录时,需检查 /etc/ssh/sshd_config 中的配置。
  • PAM 配置也需同步调整,主要涉及 /etc/security/limits.conf。
  • 通配符 '*' 对 root 用户不生效,需显式指定 root 用户的配置。
  • 用户也可以在 /etc/profile 和 bashrc 中修改 ulimit 设置。
  • 确保 systemd 和 PAM 的配置一致,以避免 ulimit 设置不生效。

延伸问答

如何在 Debian 11 中正确设置 ulimit?

需要修改 /etc/systemd/system.conf 和 /etc/systemd/user.conf 文件,并确保配置一致,重启系统后生效。

为什么 ulimit 设置后仍然显示为 1024?

可能是因为 /etc/ssh/sshd_config 中的配置未正确设置,需要将相关行改为 no 并重启 sshd 服务。

PAM 配置如何影响 ulimit 设置?

PAM 配置需要同步调整,主要涉及 /etc/security/limits.conf 和相关的 PAM 文件,以确保 ulimit 设置一致。

通配符 '*' 在 ulimit 配置中对 root 用户有什么限制?

通配符 '*' 对 root 用户不生效,需要显式指定 root 用户的相关配置。

如何确认 ulimit 设置是否生效?

可以通过命令 cat /proc/${pid}/limits 来确认当前进程的 ulimit 设置。

用户如何在个人配置中修改 ulimit?

用户可以在 /etc/profile 和 bashrc 中显式修改 ulimit 设置。

➡️

继续阅读