博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当linux报 “-bash: fork: 无法分配内存”
阅读量:7121 次
发布时间:2019-06-28

本文共 1005 字,大约阅读时间需要 3 分钟。

当我ps查看的时候发现不能执行命令并返回“-bash: fork: 无法分配内存”,特么非要哥重起服务器吗,忽然发现我连了好多终端,然后断开了一个终端,然后这边终端可以敲命令了

[root@172.16.31.105 /home/www/test]# free -m              total       used       free     shared    buffers     cached Mem:         15979       8025       7954          0        218       1109 -/+ buffers/cache:       6697       9282 Swap:            0          0          0

卧槽,还有那么多内存。。。很无语,然后又开始敲命令,结果又报刚才那个问题“-bash: fork: 无法分配内存”,另外一个终端连接也出问题了

[root@172.16.31.102 ~]# ssh 172.16.31.105 shell request failed on channel 0

看到这里我就顺手百度了一下,网上说老版本系统的内核pid参数比较小(默认设置的是32768),所以我要验证一下,之前连的终端比较多,所以就不用重启服务器啦,当然我也是走了狗屎运,然后我又断开一个终端,这边ps了一下

[root@172.16.31.105 ~]# ps   PID TTY          TIME CMD 32775 pts/1    00:00:00 bash 32765 pts/1    00:00:00 ps

很明显ps的pid号明显接近于内核默认pid了,立即修改内核pid,并让其生效命令如下:

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

sysctl -p

生效后,终端立刻就可以直连这台机器了。

为了验证到底是不是这个问题(就当作死吧)

找了另外一台机器,先多连几个终端,之后将内核pid改小最好近似于当前pid最大值,改完生效后马上问题就出来了 报 “-bash: fork: 无法分配内存”  我靠赶紧想办法改内核参数

注意:有的机器pid用的比较严重,敲好多次命令都会报“-bash: fork: 无法分配内存”   因此只能重启服务器,运气好的话多敲几次命令就可以看到。

作者:cfster 来源:CSDN 原文: 版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://juejin.im/post/5bcae4bc6fb9a05d09658a17

你可能感兴趣的文章
selenium+python谷歌驱动配置
查看>>
oralce的function处理考勤时间节点以及计算工作时间
查看>>
(三)、一步一步学GTK+之布局
查看>>
43. ExtJs控件属性配置详细
查看>>
ros名称、命名空间和重映射
查看>>
系统进程查看 --- 微软官方出品
查看>>
Python 第三方模块安装出现的问题和解决方案.
查看>>
实验1
查看>>
CF915E Physical Education Lessons(珂朵莉树)
查看>>
洛谷P5050 【模板】多项式多点求值
查看>>
第十章:基本数据结构(2)
查看>>
php处理管道文件流
查看>>
Centos 6 搭建安装 Gitlab
查看>>
2012.02.13(rtsp)
查看>>
关于设置安卓屏幕的显示方向
查看>>
面试题10-二进制中1的个数
查看>>
cmd 查看域名对应的 IP
查看>>
LED流水灯程序——小白的单片机笔记
查看>>
sysdate
查看>>
股指期货模拟系统
查看>>