在 Debian 里,“进程数限制”通常指 用户级最大进程数(nproc),也可能涉及 系统级总进程数 或 systemd 服务级限制。下面按常见场景说明。
ulimit -u # 当前 shell 的用户最大进程数
ulimit -a # 查看所有限制
cat /proc/sys/kernel/pid_max # 系统最大 PID(总进程数上限)
ulimit -u 65535
⚠️ 只对当前登录 session 有效,重启或新登录失效。
/etc/security/limits.confsudo vim /etc/security/limits.conf
示例(给用户 www 或所有用户):
* soft nproc 65535
* hard nproc 65535
www soft nproc 65535
www hard nproc 65535
参数说明:
soft:软限制(可超过,但会警告)hard:硬限制(不可超过)nproc:最大进程数✅ 需要重新登录才生效
确保以下文件包含:
grep pam_limits /etc/pam.d/common-session
应有:
session required pam_limits.so
如果没有:
sudo pam-auth-update
如果你是 systemd 启动的服务(如 nginx、java、docker),
limits.conf 可能不会生效!
sudo systemctl edit nginx
写入:
[Service]
LimitNPROC=65535
然后:
sudo systemctl daemon-reload
sudo systemctl restart nginx
查看:
systemctl show nginx | grep LimitNPROC
# 查看
cat /proc/sys/kernel/pid_max
# 临时
sudo sysctl -w kernel.pid_max=1000000
# 永久
sudo vim /etc/sysctl.conf
kernel.pid_max=1000000
sudo sysctl -p
❌ limits.conf 对 systemd 服务无效
❌ 修改后不重新登录 / 不重启服务
❌ Docker 容器内还需在宿主机或服务里设
ulimit -u 查看limits.conf 设置LimitNPROCkernel.pid_max如果你能告诉我:
fork: retry)我可以给你更精确的配置示例。