linux系统报-bash: fork: Cannot allocate memory 错误

内存不足,可先重启看下,如重启后问题依旧,更换内存条排除内存条硬件故障,若仍有问题,检查进程,并将内存占用大的进程结束,改大内存分配,

修改方法:

#查看最大进程数 sysctl kernel.pid_max

sysctl kernel.pid_max

#查看进程数

ps -eLf | wc -l

#确认是进程数满了

#处理方式一

#修改最大进程数后系统恢复

#

echo 1000000 > /proc/sys/kernel/pid_max

#处理方式二

#永久生效

echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf

sysctl -p

#示例:此服务器是hive问题,删除hiveserver2进程后,进程数小了

#修改hiveserver2配置

#配置位置/opt/ben/core/hive/conf/hive-site.yml

<property>

  <name>hive.server2.session.check.interval</name>

  <value>60000</value>

</property>

<property>

  <name>hive.server2.idle.session.timeout</name>

  <value>3600000</value>

</property>

或执行下列命令编辑sysctl.conf文件

vi /etc/sysctl.conf

添加

kernel.pid_max = 65530

sysctl -p

 都不行,要考虑是否该程序一直有此问题,如果是那要检查修改代码了