在 Debian(以及其他 Linux 发行版)中,ulimit 的设置是否会在重启后恢复,取决于你是怎么设置的。
如果你在终端直接执行,例如:
ulimit -n 65535
这种设置 只对当前 shell 会话及其子进程有效。
✅ 重启后会恢复
/etc/security/limits.conf)编辑:
/etc/security/limits.conf
示例:
* soft nofile 65535
* hard nofile 65535
⚠️ 注意:
✅ 重启后仍然有效(对用户登录会话)
如果是服务(如 Nginx、MySQL),需要改 systemd:
/etc/systemd/system/xxx.service.d/limits.conf
[Service]
LimitNOFILE=65535
然后:
systemctl daemon-reexec
systemctl restart xxx
✅ 重启后仍然有效(对服务)
在 /etc/rc.local 或 systemd 启动脚本里执行 ulimit:
ulimit -n 65535
⚠️ 这种方式只对 该脚本启动的进程 有效,不能影响全局。
| 设置方式 | 重启是否恢复 |
|---|---|
终端直接 ulimit |
✅ 会恢复 |
| limits.conf | ❌ 不恢复(用户会话) |
| systemd 服务配置 | ❌ 不恢复(服务) |
| rc.local | ❌ 不恢复(仅影响启动进程) |
如果你愿意,可以告诉我:
我可以给你一份最适合 Debian 的配置示例。