上云无忧 > 文档中心 > 腾讯云云服务器CVM - 日志报错 fork:Cannot allocate memory
云服务器CVM
腾讯云云服务器CVM - 日志报错 fork:Cannot allocate memory

文档简介:
现象描述: 日志中出现报错信息 “fork:Cannot allocate memory”。如下图所示:
*此产品及展示信息均由腾讯云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

现象描述

日志中出现报错信息 “fork:Cannot allocate memory”。如下图所示:

可能原因

可能是进程数超限导致。系统内部的总进程数达到了 pid_max 时,再创建新进程时会报 “fork:Cannot allocate memory” 错。

解决思路

1. 参见 处理步骤,查看实例内存使用率是否过高。
2. 核实总进程数是否超限,并修改总进程数 pid_max 配置。

处理步骤

1. 参见 内存使用率过高问题处理 ,查看实例是否内存使用率过高。若实例内存使用率正常,则执行下一步。
2. 执行以下命令,查看系统 pid_max 值。
		
sysctl -a | grep pid_max
根据返回结果,进行对应操作:
返回结果如下图所示,pid_max 默认值为32768,请执行下一步。

返回报错信息 “fork:Cannot allocate memory”,则需执行以下命令,临时调大 pid_max
		
echo 42768 > /proc/sys/kernel/pid_max
您可再次执行命令,查看系统 pid_max 值。
3. 执行以下命令,查看系统内部总进程数。
		
pstree -p | wc -l
若总进程数达到了 pid_max,则系统在创建新进程时会报 “fork Cannot allocate memory” 错。
说明
您可执行 ps -efL 命令,定位启动进程较多的程序。
4. /etc/sysctl.conf 配置文件中的 kernel.pid_max 值修改为65535,以增加进程数。
执行以下命令,设置系统 pid_max 值
echo "kernel.pid_max=65535" >> /etc/sysctl.conf
修改完成后如下图所示:

5. 执行以下命令,使配置立即生效。
		
sysctl -p
相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部