日期:2014-05-16  浏览次数:20717 次

求助-bash: fork: Resource temporarily unavailable
远程登录或动行命令时经常会出现
-bash: fork: Resource temporarily unavailable

用ps aux 命令时出现了大量perl的进程
web 300 0.0 0.0 0 0 ? Z 16:47 0:00 [perl] <defunct>
web 301 0.0 0.0 77916 436 ? R 16:47 0:00 perl -e fork while fork;
web 302 0.0 0.0 77916 332 ? R 16:47 0:00 perl -e fork while fork;
web 303 0.0 0.0 77916 436 ? R 16:47 0:00 perl -e fork while fork;
web 304 0.0 0.0 0 0 ? Z 16:47 0:00 [perl] <defunct>
web 305 0.0 0.0 0 0 ? Z 16:47 0:00 [perl] <defunct>
web 306 0.0 0.0 77916 436 ? R 16:47 0:00 perl -e fork while fork;
web 307 0.0 0.0 77916 332 ? R 16:47 0:00 perl -e fork while fork;
web 308 0.0 0.0 0 0 ? Z 16:47 0:00 [perl] <defunct>
web 309 0.0 0.0 77916 436 ? R 16:47 0:00 perl -e fork while fork;
web 310 0.0 0.0 77916 332 ? R 16:47 0:00 perl -e fork while fork;
web 311 0.0 0.0 77916 332 ? R 16:47 0:00 perl -e fork while fork;
web 312 0.0 0.0 0 0 ? R 16:47 0:00 [perl]
web 313 0.0 0.0 77916 332 ? R 16:47 0:00 perl -e fork while fork;
web 314 0.0 0.0 77916 332 ? R 16:47 0:00 perl -e fork while fork;
web 315 0.0 0.0 77916 332 ? R 16:47 0:00 perl -e fork while fork;
web 316 0.0 0.0 77916 436 ? R 16:47 0:00 perl -e fork while fork;
web 317 0.0 0.0 0 0 ? Z 16:47 0:00 [perl] <defunct>
web 318 0.0 0.0 77916 436 ? R 16:47 0:00 perl -e fork while fork;
web 319 0.0 0.0 0 0 ? Z 16:47 0:00 [perl] <defunct>
web 320 0.0 0.0 0 0 ? Z 16:47 0:00 [perl] <defunct>
web 321 0.0 0.0 77916 436 ? R 16:47 0:00 perl -e fork while fork;
web 322 0.0 0.0 0 0 ? Z 16:47 0:00 [perl] <defunct>



------解决方案--------------------
服务器里面有大量进程,导致资源紧缺。bash创建子进程失败,也即是执行命令失败。

看了你的那些进程信息,是不是你的web服务器使用了cgi,然后采用mod_perl处理很多东西?
当访问很大的时候,就造成资源紧缺了。

用free -m看看,估计没有剩下多少空闲了。解决方式是增大服务器内存,或者改变web服务器的部署方式。
------解决方案--------------------
应该是服务器进程数过多造成的。检查一下有没有死循环一类的。
最近都装过什么东西,有没有可能和之前的东西造成冲突。