关于linux:fork:重试:资源暂时不可用

fork: retry: Resource temporarily unavailable

我尝试在计算机上安装Intel MPI Benchmark,但出现此错误:

1
fork: retry: Resource temporarily unavailable

然后,当我运行lstop命令时,我再次收到此错误。

是什么导致此错误?

我的机器配置:

1
2
Dell precision T7500
Scientific Linux release 6.2 (Carbon)


这通常是由文件描述符用尽引起的。

有系统文件描述符总数限制,您可以从命令中得到什么:

1
sysctl fs.file-nr

这将返回文件描述符的计数:

1
<in_use> <unused_but_allocated> <maximum>

要找出用户文件描述符限制是多少,请运行以下命令:

1
2
sudo su - <username>
ulimit -Hn

要查找用户正在使用多少个文??件描述符,请运行以下命令:

1
sudo lsof -u <username> 2>/dev/null | wc -l

因此,现在如果您遇到系统文件描述符限制问题,则需要编辑/etc/sysctl.conf文件并添加或修改它已经存在的fs.file-max行并将其设置为大值足以处理所需数量的文件描述符并重新启动。

1
fs.file-max = 204708


另一种可能性是线程过多。针对使用线程池的应用程序运行测试工具时,我们只是遇到了此错误消息。我们用了

watch -n 5 -d"ps -eL | wc -l"

监视在给定的Java进程ID中运行的Linux本机线程的持续计数。在此命中约1,000(对我们来说是YMMV)之后,我们开始收到您提到的错误消息。