完全不直观的Apache / PHP内存释放行为

好吧,这个很奇怪 我有一个Turnkey Linux服务器与一个专用RAM的演出。 它运行WP3.2,有一大堆插件。 这是一个新的网站,所以它的stream量非常有限(除了search引擎,每周可能有20次点击)。

现在,几个星期,每隔几天,它会在主RAM上最大化,开始吃掉虚拟RAM,然后崩溃。 它有这个行为了一段时间,我一直在试图找出哪个元素导致崩溃。

九天前,我把外部服务器监视器指向了这台服务器。 我写了一个5行的HTML文件(不是PHP而不是WP),服务器监视器每分钟访问一次,看看服务器是否启动。

所以,现在,九天后,服务器一直坚如磐石,一点也没有内存泄漏。 我改变了服务器本身的任何东西,看到这种行为的变化。

你曾经见过这样的事吗? 所有的服务器监视器正在做的是检索一个单一的,超简单的HTML文件,所有的内存泄漏问题已经消失。

奇怪,呃?

MaxRequestsPerChild是关键。

每分钟请求您的简单页面会减less线程在其生命周期中服务的泄漏页面的数量。

这意味着每个进程达到最大值并在泄漏太多内存之前被杀死。

您应该减lessMaxRequestsPerChild(在httpd.conf中),而不是依靠您的监视脚本进行无害的请求,直到find并修复了内存泄漏。