今天生產機器忽然沒法登陸了,正好有一個用top掛着,可是退出top,執行任何命令都報-bash: fork: Cannot allocate memory,可是查看內存仍是有不少空閒,而後在百度上查了不少資料,通過在虛擬機上測試,找到了解決辦法。bash
緣由是進程數滿了,超過了系統設置的默認值測試
查看最大進程數 sysctl kernel.pid_max.net
查看全部進程數ps -eLf | wc -lblog
會發現全部進程數基本快超過系統默認的進程數量了進程
修改最大進程數後系統便可恢復,無需重啓進程。
echo 1000000 > /proc/sys/kernel/pid_max
永久生效
echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
sysctl -p內存