MPM Prefork,apache2进程太多了?

Modified on: Thu, 04 Jul 2019 10:20:02 +0800

我有这个设置:

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    ServerLimit      1250
    MaxClients            1250
    MaxRequestsPerChild   1500
</IfModule>

当我做最好的时候,对于最小/最大服务器的5-10设置是可能的,有很多apache 2进程吗?

它们不应该只在5-10之间吗?
只需看看260进程正在睡眠的O_O(d * mn apache)

点击http://img200.imageshack.us/img200/3285/senzatitolo1iw。 JPG

EDIT1:

在这里30分钟之后出现一个顶部屏幕:

点击:http://img816.imageshack.us/img816/1645/immagineov .PNG

UP 24小时后(MEM使用的最高订购者)

感谢您的任何解释

(debian 6,灯,4gb ram)

作者:Community,dynamic

最佳答案

我在服务器没有响应SSH和HTTP但ping工作的评论中给出了答案,但显然你不相信我。真的,这是真的!

您需要将MaxClients / ServerLimit的大小调整到您的系统。你提到的“最小/最大服务器的5-10设置”基本上是无关紧要的 - 这只是额外服务器的数量,而不是做任何Apache将保留的服务器。

为了正确设置MaxClients,请查看httpd(或apache2)进程的典型高水位线,然后将可用内存除以。最好稍微下降,让系统的其余部分呼吸。由于你有4GB的RAM和185MB的进程,这意味着你的ServerLimit值最多应该是21 - 可能是20或19。

现在,可能190MB是非典型的。您可以根据对典型使用情况的不同估计将ServerLimit设置得更高,但是您基本上赌博的是您永远不会有峰值。如果确实发生了这种情况,您的系统将内存不足

如果你能找到一种方法来限制每个工人的内存使用量,那将是一场胜利。我打赌这是PHP Ate My RAM的案例。您可以将应用程序编码为更低的memory_limit吗?如果你不能这样做,你需要一个不同的模型来运行你的PHP。如果你不能这样做,你需要购买更多的RAM。

作者:Community,mattdm

相关问答

添加新评论