-bash: fork: retry: Resource temporarily unavailable

字面意思就是资源不可用了,说明当前用户使用的系统资源(打开文件数量,进程数等)超过了系统设置的

ulimit -a,查看一下,主要看两个值:

open files和max user processes,基本上这两个值最容易超,(当前用户的进程数可以用ulimit -u,ulimit -n 当前用户打开的文件数)

设置文件的打开数 /etc/security/limits.conf

vi /etc/security/limits.conf

* soft nofile 65535
* hard nofile 65535
* soft nproc 20480
* hard nproc 20480
* soft stack 10240
* hard stack 32768

然后在/etc/security/limits.d/90-nproc.conf中修改进程数(centos6的版本需要)

* soft nproc 201400
* hard nproc 201400
root soft nproc unlimited
root hard nproc unlimited

limits.conf的格式如下:

username|@groupname       type        resource          limit

username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。

type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的最大值不能超过hard的值。用 – 就表明同时设置了 soft 和 hard 的值。

resource:
core – 限制内核文件的大小
date – 最大数据大小
fsize – 最大文件大小
memlock – 最大锁定内存地址空间
nofile – 打开文件的最大数目
rss – 最大持久设置大小
stack – 最大栈大小
cpu – 以分钟为单位的最多 CPU 时间
noproc – 进程的最大数目
as – 地址空间限制
maxlogins – 此用户允许登录的最大数目

如何生效,用户退出然后重新登录即可!

原文地址:https://www.cnblogs.com/aishangyizhihu/p/6276846.html