温馨提示×

debian ulimit重启会恢复吗

小樊
42
2026-09-03 20:25:13
栏目: 智能运维

在 Debian(以及其他 Linux 发行版)中,ulimit 的设置是否会在重启后恢复,取决于你是怎么设置的


一、临时设置(重启会恢复默认)

如果你在终端直接执行,例如:

ulimit -n 65535

这种设置 只对当前 shell 会话及其子进程有效

  • 退出终端 → 失效
  • 重启系统 → 完全恢复为系统默认值

重启后会恢复


二、通过配置文件设置(重启不恢复)

1️⃣ 用户级限制(/etc/security/limits.conf

编辑:

/etc/security/limits.conf

示例:

* soft nofile 65535
* hard nofile 65535

⚠️ 注意:

  • 需要 PAM 支持(一般桌面/SSH 登录都有)
  • 系统服务(systemd)不一定生效

重启后仍然有效(对用户登录会话)


2️⃣ systemd 服务限制

如果是服务(如 Nginx、MySQL),需要改 systemd:

/etc/systemd/system/xxx.service.d/limits.conf
[Service]
LimitNOFILE=65535

然后:

systemctl daemon-reexec
systemctl restart xxx

重启后仍然有效(对服务)


3️⃣ 开机脚本(不推荐)

/etc/rc.local 或 systemd 启动脚本里执行 ulimit

ulimit -n 65535

⚠️ 这种方式只对 该脚本启动的进程 有效,不能影响全局。


三、总结

设置方式 重启是否恢复
终端直接 ulimit ✅ 会恢复
limits.conf ❌ 不恢复(用户会话)
systemd 服务配置 ❌ 不恢复(服务)
rc.local ❌ 不恢复(仅影响启动进程)

如果你愿意,可以告诉我:

  • 用户进程 还是 系统服务
  • 想要设置的是 nofile / nproc / 内存 等哪种限制

我可以给你一份最适合 Debian 的配置示例。

0