问题
在普通用户下,突然bash失灵,无论执行什么命令,都报如下问题:
-bash: fork: retry: No child processes
一般linux 服务器默认的句柄数都是 1024,查看方法如下:
[root@nlp03 ~]# ulimit -n
1024
上面这段错误提示的本质是Linux操作系统无法创建更多进程,导致出错。
因此要解决这个问题需要修改Linux允许创建更多的进程。
解决方案
修改并发连接数
echo -e "root soft nofile 65535\nroot hard nofile 65535\n* soft nofile 65535\n* hard nofile 65535\n" >> /etc/security/limits.conf
sed -i 's#4096#65535#g' /etc/security/limits.d/20-nproc.conf
一个是修改最大文件打开数,一个是最大进程数,其中root表示管理员,*表示普通用户。