linux无法连接上 报错:Cannot allocate memorg 永久终极处理方法(建议收藏)
linux无法连接上 报错:Cannot allocate memorg 处理方式根本
事情是这样的 >>有几台服务器 登录不上 开发人员要查log 查不到log就要弄死我 然后登录半天无法请求连接成功 包括vnc方式 都无法连接 然后开发就已经拿刀架在我脖子上了
后面不得不求助官方运维 好不容易连接上后 开发说要我写个总结 不然就手起刀落 在开发大佬的逼迫下我就一个简单的设置进程最大完美解决这个问题了
[如果都连不上 那就没办法了,重启机器连上在说]
打命令就界面提示 -bash: fork: Cannot allocate memory 一直提示:无法分配内存
后面找了一顿猛如虎的排查到问题点了 就是进程连接满了 无法连接上新进程了
就是图下面这样的了
-bash: fork: Cannot allocate memory 一连串的无法分配内存
系统默认的pid_max 值为32768,查询现有的进程数**#cat /proc/sys/kernel/pid_max**
正常情况下是够用的,当我们跑重量任务时,会不够用,最终导致内存无法分配的错误,然而连不上的悲剧
查询可连接最大进程数cat /proc/sys/kernel/pid_max
查询现有的连接进程数 pstree -p|wc -l
查询现有的进程数 pstree -p|wc -l
然后把设置最大 pid_max
临时修改最大进程数 [重启后就失效]
#echo 1000000 > /proc/sys/kernel/pid_max
永久修改最大进程数 [重启后不失效]
#echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
#sysctl -p