日志中出现报错信息 “fork:Cannot allocate memory”。如下图所示:
可能是进程数超限导致。系统内部的总进程数达到了 pid_max
时,再创建新进程时会报 “fork:Cannot allocate memory” 错。
pid_max
配置。 pid_max
值。sysctl -a | grep pid_max
根据返回结果,进行对应操作:
pid_max
默认值为32768,请执行下一步。pid_max
。echo 42768 > /proc/sys/kernel/pid_max
您可再次执行命令,查看系统 pid_max
值。
3. 执行以下命令,查看系统内部总进程数。
pstree -p | wc -l
若总进程数达到了 pid_max
,则系统在创建新进程时会报 “fork Cannot allocate memory” 错。
4. 将 `/etc/sysctl.conf` 配置文件中的 `kernel.pid_max` 值修改为65535,以增加进程数。修改完成后如下图所示:说明您可执行
ps -efL
命令,定位启动进程较多的程序。
5. 执行以下命令,使配置立即生效。
sysctl -p
本页内容是否解决了您的问题?