已解决
日志报错 fork:Cannot allocate memory
来自网友在路上 166866提问 提问时间:2023-10-25 12:09:07阅读次数: 66
最佳答案 问答题库668位专家为你答疑解惑
现象描述
日志中出现报错信息 “fork:Cannot allocate memory”。如下图所示:
可能原因
可能是进程数超限导致。系统内部的总进程数达到了 pid_max
时,再创建新进程时会报 “fork:Cannot allocate memory” 错。
解决思路
1. 通过free -m确认内存使用率,查看实例内存使用率是否过高。
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,以增加进程数。修改完成后如下图所示:
5. 执行以下命令,使配置立即生效。
sysctl -p
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"日志报错 fork:Cannot allocate memory":http://eshow365.cn/6-24190-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 万宾科技智能井盖传感器怎么使用?
- 下一篇: 【Linux/脚本/芯片学习】Perl学习