温馨提示×

debian ulimit如何临时改

小樊
51
2026-09-09 23:20:08
栏目: 智能运维

在 Debian(以及大多数 Linux 发行版)里,ulimitshell 内置命令,只能对当前 shell 及其子进程生效,因此是“临时”的(重启或新开 shell 就失效)。


一、在当前 shell 临时修改(最常用)

1️⃣ 查看当前限制

ulimit -a

2️⃣ 修改示例

最大打开文件数

ulimit -n 65535

最大进程数

ulimit -u 4096

core 文件大小(不限)

ulimit -c unlimited

栈大小

ulimit -s 8192

⚠️ 注意:

  • 普通用户 只能调小,不能调大
  • 想调大需要 root 权限

二、只对某个命令临时生效

( ulimit -n 65535; your_command )

或:

bash -c 'ulimit -n 65535; ./app'

三、root 临时提高限制(给普通用户用)

sudo su
ulimit -n 100000
su - username

⚠️ 仍然受 /etc/security/limits.conf 限制


四、系统级硬限制(临时,重启失效)

查看系统最大 fd

cat /proc/sys/fs/file-max

临时修改

sysctl -w fs.file-max=1000000

或:

echo 1000000 > /proc/sys/fs/file-max

五、服务进程(systemd)临时改

如果是 systemd 服务:

systemctl edit nginx
[Service]
LimitNOFILE=65535

然后:

systemctl daemon-reload
systemctl restart nginx

六、常见坑

ulimit已经运行的进程无效
❌ 修改后新开 shell 不继承
❌ Docker / systemd 有独立限制


如果你能告诉我:

  • 你是 普通用户还是 root
  • 想改的是 文件数 / 进程数 / 内存
  • shell / 脚本 / 服务

我可以直接给你最合适的一条命令。

0