温馨提示×

debian ulimit重启后还在吗

小樊
44
2026-09-22 03:53:18
栏目: 智能运维

在 Debian 里,ulimit 的设置重启后是否还在,取决于你是怎么设置的,分几种情况说清楚:


1️⃣ 临时设置(当前 shell / 当前会话)

ulimit -n 65535
  • 只对当前 shell 及其子进程有效
  • 重启后失效
  • 新开终端、新登录都不会继承

✅ 重启 → ❌ 不在


2️⃣ 写入用户 shell 配置文件(如 ~/.bashrc)

echo "ulimit -n 65535" >> ~/.bashrc
  • 只对交互式登录 shell 有效
  • 重启后还在(只要用户登录)
  • 对系统服务、daemon 不生效

✅ 重启 → ✅ 在(仅限该用户登录)


3️⃣ 系统级限制(/etc/security/limits.conf)

* soft nofile 65535
* hard nofile 65535
  • PAM 控制
  • 重启后永久生效
  • 对通过 PAM 登录的用户有效
  • 对 systemd 服务不一定生效

✅ 重启 → ✅ 在(用户进程)

⚠️ 注意:

  • 需要 UsePAM yes(sshd 等)
  • 某些服务要用 pam_limits.so

4️⃣ systemd 服务(最重要!)

如果你说的是服务程序(如 nginx、mysql、java):

[Service]
LimitNOFILE=65535

或在 /etc/systemd/system/xxx.service.d/limits.conf

  • 重启后永久生效
  • limits.conf 对 systemd 服务无效

✅ 重启 → ✅ 在(服务)


5️⃣ 内核级(fs.file-max)

sysctl -w fs.file-max=100000

写入 /etc/sysctl.conf 后:

  • 重启后还在
  • 这是系统最大文件句柄数

✅ 重启 → ✅ 在


总结一句话

ulimit 本身是“进程级”的,不持久;要重启后还在,必须写配置文件或 systemd 配置。

如果你能告诉我:

  • 用户程序 还是 系统服务
  • 想改的是 nofile / nproc / 内存 哪种

我可以直接给你准确可用的 Debian 配置方案

0