我们有一个 Ubuntu 服务器,运行 apache、PHP 和 MySQL。随着时间的推移,apache 进程的数量似乎慢慢增加(使用 ps -aef 和 top 命令可以看到)。昨晚,太糟糕了,服务器太慢了,无法使用。我不知道所有进程是如何启动的,因为我们没有那么多流量。有许多 cron 作业正在运行,但一次不会超过 5-10 个。当我第一次启动 apache 时,我通常有 10 个进程,几个小时后它翻了一番,但是今天早上当我进入时有 100 个。我没有运行 100 个进程的 top 命令,但目前每个进程使用大约10M-40M。
我读到了 prefork 和 worker MPM,想知道更改设置是否有帮助。当前使用具有默认值的 prefork。我是否减少 MaxClients 以杀死额外的进程?我是否为 MaxRequestsPerChild 设置了一个数字,以便他们更快地被杀死?
还是完全不同的东西?