在 Debian 系统中,ulimit 本身不是一个文件,而是 shell 的资源限制设置,来源于:
/etc/security/limits.conf 及 /etc/security/limits.d/*)Limit* 配置)~/.bashrc、~/.profile 等)因此“备份 ulimit”通常是 备份这些配置来源,而不是单个命令。
ulimit -a
建议保存为文件:
ulimit -a > ulimit_backup_$(hostname)_$(date +%F).txt
⚠️ 注意:
这 只适用于当前 shell 会话,重启或新 shell 不会自动恢复。
这是影响 登录用户 ulimit 的关键配置。
cp -a /etc/security/limits.conf /etc/security/limits.conf.bak
cp -a /etc/security/limits.d /etc/security/limits.d.bak
或者一起打包:
tar czf ulimit_limits_backup.tar.gz \
/etc/security/limits.conf \
/etc/security/limits.d
✅ 这是最重要的备份
systemd 服务会覆盖 ulimit 设置。
systemctl show --property=Limit*
cp -a /etc/systemd/system.conf /etc/systemd/system.conf.bak
cp -a /etc/systemd/user.conf /etc/systemd/user.conf.bak
如果有自定义 service:
cp -a /etc/systemd/system /etc/systemd/system.bak
有些用户会在 shell 里手动 ulimit -n 65535。
cp ~/.bashrc ~/.bashrc.bak
cp ~/.profile ~/.profile.bak
系统级:
cp /etc/profile /etc/profile.bak
cp -a /etc/profile.d /etc/profile.d.bak
cp limits.conf.bak /etc/security/limits.conf
cp -a limits.d.bak/* /etc/security/limits.d/
reboot
或重新登录(PAM 在登录时生效)
| 误区 | 说明 |
|---|---|
ulimit 是系统配置 |
❌ 只是 shell 运行时的限制 |
sysctl = ulimit |
❌ sysctl 是内核参数(如 fs.file-max) |
备份 /proc/sys |
❌ 重启即失效 |
✅ 必须备份
/etc/security/limits.conf/etc/security/limits.d/*✅ 建议备份
/etc/systemd/system/etc/systemd/system.conf✅ 可选
ulimit -a 快照(便于对比)如果你愿意,可以告诉我:
我可以给你一套 精确对应的备份与恢复方案。