-bash: fork: Cannot allocate memory 问题的处理

今天生产机器突然无法登录了,正好有一个用top挂着,但是退出top,执行任何命令都报-bash: fork: Cannot allocate memory,但是查看内存还是有很多空闲,然后在百度上查了很多资料,经过在虚拟机上测试,找到了解决办法。

原因是进程数满了,超过了系统设置的默认值

查看最大进程数 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

 

参考:https://blog.csdn.net/woshizhangliang999/article/details/66473884

    原文作者:Dicky_Zhang
    原文地址: https://www.cnblogs.com/Dicky-Zhang/p/10152061.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞