Ubuntu 死锁,数千个僵尸进程

Ubuntu 死锁,数千个僵尸进程

我在多台主机上运行 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 连接?

相关内容