Linux日志报错 fork:Cannot allocate memory

煎鱼 2021年6月6日10:35:03
评论
345,982 507字阅读1分41秒

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

Linux日志报错 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,返回结果如下图所示:

Linux日志报错 fork:Cannot allocate memory

3、执行以下命令,查看系统内部总线程数。

pstree -p | wc -l

若总线程数达到了 pid_max,则系统在创建新线程时会报 “fork Cannot allocate memory” 错。

说明

您可执行 ps -efL 命令,定位启动线程较多的程序。

4、将 /etc/sysctl.conf 配置文件中的 kernel.pid_max 值修改为65535,以增加线程数。修改完成后如下图所示:

Linux日志报错 fork:Cannot allocate memory

5、执行以下命令,使配置立即生效。

sysctl -p
煎鱼
  • 本文由 发表于 2021年6月6日10:35:03
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
VNC 登录报错 Cannot allocate memory 脚本编程

VNC 登录报错 Cannot allocate memory

现象描述 使用 VNC 登录云服务器时,无法正常进入系统,且出现 “Cannot allocate memory” 报错信息。如下图所示: 可能原因 可能是系统中存在多个大页内存导致。一个大页内存默认...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: