Linux弹性云主机执行命令或启动服务时出现错误:Cannot allocate memory 本文带您解决在 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 pidmax 或者 cat /proc/sys/kernel/pidmax 查看当前进程数,命令如下: ps eLf wc l 若 pidmax 的值偏小时会影响 pid 的创建,可以根据业务需要调整最大 pid 数量限制,临时调整的命令如下: sysctl w kernel.pidmax65535 若要弹性云主机重启后调整命令仍然生效,可执行如下命令: echo "kernel.pidmax65535" >> /etc/sysctl.conf