1

在顶部,我不断看到僵尸进程(一次不超过一个),它们很快消失(在 10 秒内),但几秒钟后又出现了一个新的僵尸进程。我的服务器运行 3 个站点,2 个用 PHP 编写,一个用 Perl 编写,全部由 Apache 提供服务。对于 PHP 站点,我使用 mod_rewrite 创建漂亮的 URL。我一直试图找出导致这些僵尸的页面或脚本,但找不到。有没有办法将进程的 PID 连接到它正在执行的请求?为了找出导致僵尸的原因,我停止了 Perl 站点和其中一个 PHP 站点,没有任何改变,僵尸不断出现,所以我最好的猜测是我已将其缩小到一个站点,但话又说回来,也许它什么都没有与特定站点有关(我无法将其余站点脱机检查,因为人们正在使用它)。

Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 PHP/5.2.6-1+lenny8 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0

非常感谢任何帮助或指出我正确的方向,我已经在谷歌上搜索并尝试了几天(不过我从中学到了很多;-))。

在安静的圣诞假期里,我有机会将第三个站点离线几分钟。令我惊讶的是,我一直看到僵尸出现,所以它似乎与某个站点无关,而是与 Apache 中的某些设置有关。有什么想法吗?

4

2 回答 2

2

我刚刚回答了一个非常相似的问题

调用 php 时 Apache 产生僵尸进程

简短的回答是这很正常。

于 2011-05-13T22:19:12.043 回答
1

通过启用 mod_status,您将在服务器的 /status url 中获得更多详细信息,如果您将 ExtendedStatus 指令设置为“On”,甚至还可以获得最后一页的详细信息。但是您不应该在生产服务器中长时间使用该设置。

那我想知道你怎么知道它是一个僵尸进程?您确定它不是 apache 的“正常”子进程,服务于客户端请求吗?你的 apache 有多少子进程?

于 2010-12-28T00:03:04.770 回答