fork:重试:资源暂时不可用
我尝试在我的计算机上安装英特尔MPI基准testing,并收到错误消息:
fork: retry: Resource temporarily unavailable
然后,当我运行ls
和top
命令时,再次收到此错误。
什么是造成这个错误?
configuration我的机器:
Dell precision T7500 Scientific Linux release 6.2 (Carbon)
这通常是由耗尽文件描述符引起的。
有系统总文件描述符限制,你从命令得到什么:
sysctl fs.file-nr
这将返回文件描述符的计数:
<in_use> <unused_but_allocated> <maximum>
要找出用户文件描述符限制的运行命令:
sudo su - <username> ulimit -Hn
要找出用户正在使用多less个文件描述符,请运行以下命令:
sudo lsof -u <username> 2>/dev/null | wc -l
所以现在如果你有一个系统文件描述符限制问题,你将需要编辑你的/etc/sysctl.conf文件,并添加或修改它已经存在的一行fs.file-max,并将其设置为一个大的值足以处理您需要的文件描述符的数量并重启。
fs.file-max = 204708
另一种可能性是太多的线程。 在针对使用线程池的应用程序运行testing工具时,我们只是遇到了这个错误消息。 我们用了
watch -n 5 -d "ps -eL <java_pid> | wc -l"
观察在给定的Java进程ID内运行的Linux本机线程的持续计数。 在大约1000次(对于我们 – YMMV),我们开始收到你提到的错误信息。