我想我的电脑上安装英特尔MPI基准测试,我得到这个错误:
fork: retry: Resource temporarily unavailable
然后,我又收到此错误,当我跑ls
和top
命令。
是什么原因造成这个错误?
我的机器配置:
Dell precision T7500
Scientific Linux release 6.2 (Carbon)
我想我的电脑上安装英特尔MPI基准测试,我得到这个错误:
fork: retry: Resource temporarily unavailable
然后,我又收到此错误,当我跑ls
和top
命令。
是什么原因造成这个错误?
我的机器配置:
Dell precision T7500
Scientific Linux release 6.2 (Carbon)
这通常是通过运行了文件描述符造成的。
还有就是系统总文件描述符限制,你在命令得到什么:
sysctl fs.file-nr
这将返回文件描述符数:
<in_use> <unused_but_allocated> <maximum>
要找出一个用户文件描述符限制运行的命令:
sudo su - <username>
ulimit -Hn
要找出描述有多少文件在用户使用运行以下命令:
sudo lsof -u <username> 2>/dev/null | wc -l
所以,现在,如果你有一个系统的文件描述符限制问题,您将需要编辑/etc/sysctl.conf文件,添加或修改它,它已经存在,fs.file-MAX线并将其设置为大的值足以应对文件描述符的需要和数字重启。
fs.file-max = 204708
另一种可能性是线程太多。 运行针对一个使用线程池的应用程序测试工具时,我们恰好碰到了此错误消息。 我们用了
watch -n 5 -d "ps -eL <java_pid> | wc -l"
观看给定的Java进程ID内运行Linux原生线程的持续计数。 在此之后打到1000(我们 - 因人而异),我们开始得到你提到的错误消息。