码迷,mamicode.com
首页 > 其他好文 > 详细

pid max导致fork: Cannot allocate memory 的处理

时间:2018-10-29 14:10:45      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:images   ofo   log   RoCE   sysctl   jdk   增加   only   技术   

海外一台服务器凌晨就开始出现了不能登录游戏。早上运营人员告知上服务器查看了下。

一打命令就界面提示 -bash: fork: Cannot allocate memory

输入了几次top 出来了才出来了,一看也还有内存剩余的。

想看看其他命令都查看不到,只能让运营方控制台上重启服务器先。
技术分享图片

就着查看有关这样提示的问题

重启之后查看有关进程和线程,发现jdk的线程一直在增加,应该是这个一直只增不放导致了超过系统默认的kernel.pid_max=32678

技术分享图片

只有找研发去优化代码。

系统这边也只能先把kernel.pid_max调高些。

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

参考:pid max导致fork: Cannot allocate memory 的分析及解决办法
https://blog.csdn.net/onlyellow/article/details/51917757

参考:-bash: fork: Cannot allocate memory 问题的处理
https://blog.csdn.net/woshizhangliang999/article/details/66473884

pid max导致fork: Cannot allocate memory 的处理

标签:images   ofo   log   RoCE   sysctl   jdk   增加   only   技术   

原文地址:http://blog.51cto.com/holy2010/2310010

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!