

喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>
本文带您解决在 Linux 操作系统的弹性云主机上执行命令时出现 Cannot allocate memory 的问题 。
故障描述
在 Linux 操作系统的弹性云主机上执行命令top, free -m, df -h 等命令时出现错误提示:-bash: fork: Cannot allocate memory 报错。
故障原因
通常是因为内存不足,或者达到最大pid 数量限制。
故障排查思路
登录 Linux 操作系统弹性云主机。
多次尝试使用 free -m 或者 top 命令查看当前内存使用情况。若可用内存很少,可根据业务需要释放一些非必要的进程,或者增加 swap 空间。
若可用内存充足,则查看操作系统最大 pid 数量限制,命令如下:
sysctl -a | grep pid_max
或者
cat /proc/sys/kernel/pid_max
查看当前进程数,命令如下:
ps -eLf | wc -l
若 pid_max 的值偏小时会影响 pid 的创建,可以根据业务需要调整最大 pid 数量限制,临时调整的命令如下:
sysctl -w kernel.pid_max=65535
若要弹性云主机重启后调整命令仍然生效,可执行如下命令:
echo "kernel.pid_max=65535" >> /etc/sysctl.conf
推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


湘公网安备43019002001857号
备案号:
客服1