Cannot allocate memory 问题

发布 : 2019-05-26 分类 : 运维 浏览 :

问题现象

公司内某服务无法正常访问,服务器无法ssh登陆,登陆时提示 ‘-bash: fork: Cannot allocate memory’,之前出现过类似的问题,但是是由我同事解决的,问了一下同事,他说直接重启了服务器…..还是查查吧,毕竟出现第二次此类问题了。

解决方法

查阅相关文档,发现有可能是由于正在使用的线程id(LWP)超过了 kernel.pid_max限制,所以出现了此类问题,知道问题了开始解决,目前登陆不进去,只能等线程id回收,释放线程id之后才能登陆了。

登陆之后查看pid,确认是pid满了

1
2
# ps -eLf | wc -l
32501

临时修改pid_max

1
# echo 1000000 > /proc/sys/kernel/pid_max

永久生效

1
2
echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
sysctl -p

查看pid都是被java服务占用了,至于为啥占用这么多pid交给研发去查吧。。

本文作者 : WGY
原文链接 : http://geeklive.cn/2019/05/26/linux_CannotAllocateMemory/undefined/linux_CannotAllocateMemory/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
留下足迹