markdown fork:retry:资源暂时不可用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown fork:retry:资源暂时不可用相关的知识,希望对你有一定的参考价值。

## 背景
最近在重启presto的时候总是报`fork: retry: Resource temporarily unavailable`,导致服务不正常
或跑的过程中会提示`java.lang.OutOfMemoryError: Unable to create new native thread`

## 以下为排查过程及结果,数据是出问题的其中一台服务器
### 查看系统限制的进程数
```
sudo vim /etc/security/limits.d/xxx.conf

*          soft    nproc     1024
root       soft    nproc     unlimite
```
即普通用户只可以创建1024个进程(含线程)

### 查看目前系统各用户启动的进程(线程)数
```
ps h -Led -o user | sort | uniq -c | sort -n
      1 ntp
      1 rpc
      1 rpcuser
      1 sshd
      2 ganglia
     11 mysql
     22 nscd
     63 oozie
    937 root
    961 hadoop
   1201 hdfs
```

### 发现问题
从上面可知`hdfs`用户已经超过了进程限制,而presto是用`hdfs`用户启动的

### 解决方法
加大`/etc/security/limits.d/90-nproc.conf`中`nproc`的大小

以上是关于markdown fork:retry:资源暂时不可用的主要内容,如果未能解决你的问题,请参考以下文章

linux fork: retry: 没有子进程、资源暂时不可用问题解决

SSH远程连接命令执行没反应不报错问题解决(-bash: fork: retry: Resource temporarily unavailable.[资源暂时不可用])

linux登录普通用户提示-bash: fork: retry: No child processe

资源不可用

Retry模式

linux -bash: fork: retry: Resource temporarily unavailable