我在多台主机上运行 Ubuntu 10.04.4 LTS。
当我登录我的服务器时,所有服务器上都出现以下错误消息:
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable
ps aux
显示以下数千条条目
...
root 32725 0.0 0.0 0 0 pts/1 Z+ Nov22 0:00 [dig] <defunct>
root 32726 0.0 0.0 0 0 pts/1 Z+ Nov21 0:00 [dig] <defunct>
root 32727 0.0 0.0 0 0 pts/1 Z+ Nov21 0:00 [dig] <defunct>
root 32728 0.0 0.0 0 0 pts/1 Z+ Nov22 0:00 [dig] <defunct>
root 32766 0.0 0.0 0 0 pts/1 Z+ Nov21 0:00 [dig] <defunct>
root 32767 0.0 0.0 0 0 pts/1 Z+ Nov21 0:00 [dig] <defunct>
...
我找不到任何问题/var/logs
什么原因造成此情况?
答案1
之所以受到欢迎
-bash: fork: retry: Resource temporarily unavailable
很容易猜测:您运行的进程太多了。您说您有数千个已停止运行的dig
进程,这几乎肯定会超出您允许拥有的最大进程数。要确保这是正确的,请发出
ulimit -a
你很可能会发现这样的一行
max user processes (-u) 46563
如果这个数字小于已停止进程的数量,那么就可以了。
确定为什么会出现所有这些进程比较困难。它们看起来像是反复调用 DNS 服务器失败,但这需要比网络断开更基本的原因。由于缺乏相关数据,我只能给出一个有根据的猜测:您是否曾经或现在使用过 IPv6 连接?