Linux -bash: fork retry No child process.Resource temporarily unavailable
Linux -bash: fork retry No child process.Resource temporarily unavailable
·
服务器是centos7
故障问题
java的程序报错OOM, java.lang.OutOfMemoryError
尝试切换普通用户报错
-bash: fork: retry: No child processes
故障排查
查看top内存和cpu都正常
查看df -hT硬盘资源正常
切换普通用户
failed to execute /bin/bash: Resource temporarily unavailable(资源暂时不可用)
(Linux系统root无法通过sudo -切换到某个普通用户,但可以su -到其他普通用户)
一般linux 服务器默认的句柄数都是 1024,查看方法如下:
#ulimit命令查看:
ulimit
ulimit -a
[root@test ~]# ulimit -n
1024
查看已开启线程数:
[root@test ~]# ps -efL |grep root|wc -l
863
[root@test ~]# ps -efL |grep www|wc -l
4390
超出了1024
解决
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表示管理员,*表示普通用户
更多推荐
已为社区贡献1条内容
所有评论(0)