运行环境
- CentOS/RHEL 7
问题描述
日志中出现报错如:“fork failed: Resource temporarily unavailable” “ fork:Cannot allocate memory”,我们该该如何排查此问题?
问题原因
可能是进程数超限导致,达到pid_max时 再创建进程会报错“fork: Cannot allocate memory”等
解决方案
- 检查当前kernel.pid_max 值. sysctl -a | grep pid_max
(base) [root@rudonx ~]# sysctl -a | grep pid_max
kernel.pid_max = 4194304
- 查看系统内总进程数是否达到了pid_max。
pstree -p | wc -l
- 将 /etc/sysctl.conf 配置文件中kernel.pid_max值修改为131072
echo "kernel.pid_max=131072" >> /etc/sysctl.conf
sysctl -p
如果您有其他问题,欢迎您联系火山引擎技术支持服务