fork: Cannot allocate memory

-bash: fork: Cannot allocate memory,

有可能 内存free 0,

也有可能进程数满了,超过了系统设置的默认值

这两种情况正好都碰到了: 记录下

查看最大进程数 sysctl kernel.pid_max

查看所有进程数:ps -eLf | wc -l

会发现所有进程数基本快超过系统默认的进程数量了

修改最大进程数后系统即可恢复,无需重启进程。

echo 1000000 > /proc/sys/kernel/pid_max

永久生效

echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf

sysctl -p

你可能感兴趣的:(fork: Cannot allocate memory)