linux (centos 6.2)在输入查询或者操作命令时提示-bash: fork: cannot allocate memory

问题

1.首先检查内存,确认下是否是内存耗尽引起

free -m //m表示按兆显示,具体参数 通过free --help查询

2.查看系统允许的最大进程数,没有改默认一般都是32786

cat /proc/sys/kernel/pid_max 

3.查看你的系统当前进程数(是否接近32768)

ps -eLf | wc -l

4.查看你对应服务进程数,(以我的tr069服务器为例)

ps -eLf | grep java | wc -l

5.可以试着修改,当前生效,查看是否问题已经解决

echo 1000000 > /proc/sys/kernel/pid_max

6.如果步骤5可以,尝试修改配置文件(修改配置文件需要重启才生效,我这里因为是测试,没有查找有没有其他方法是否生效)

/etc/sysctl.conf下添加一条kernel.pid_max=1000000 操作配置文件前记得备份cp 一下

原文地址:https://www.cnblogs.com/zheng5897t/p/12837641.html