如何减少同时运行的 Apache 的数量?

如何减少同时运行的 Apache 的数量?

我的主机 (Dreamhost) 上有一个具有 root 访问权限的 VPS。当我在控制台中输入 top 时,我看到大量正在运行的 Apache。请参阅片段:

14464 dhapache  20   0  119m 9900 1724 S    0  2.3   0:00.05 apache2-ps13837
14939 dhapache  20   0  119m 9868 1704 S    0  2.3   0:00.02 apache2-ps13837
14940 dhapache  20   0  119m 9680 1708 S    0  2.3   0:00.00 apache2-ps13837
14958 dhapache  20   0  119m 9768 1716 S    0  2.3   0:00.02 apache2-ps13837
14967 dhapache  20   0  119m 9816 1708 S    0  2.3   0:00.01 apache2-ps13837
15026 dhapache  20   0  118m 9476 1580 S    0  2.2   0:00.00 apache2-ps13837
15031 dhapache  20   0     0    0    0 H    0  0.0   0:00.00 apache2-ps13837
15032 dhapache  20   0  119m 9712 1700 S    0  2.3   0:00.00 apache2-ps13837
15035 dhapache  20   0  118m 9472 1576 S    0  2.2   0:00.00 apache2-ps13837
15036 dhapache  20   0  118m 9468 1572 S    0  2.2   0:00.00 apache2-ps13837
15037 dhapache  20   0  119m 9444 1528 S    0  2.2   0:00.00 apache2-ps13837
15038 dhapache  20   0  118m 9472 1576 S    0  2.2   0:00.00 apache2-ps13837
15040 dhapache  20   0  118m 9472 1576 S    0  2.2   0:00.00 apache2-ps13837
15041 dhapache  20   0  118m 9472 1576 S    0  2.2   0:00.00 apache2-ps13837
15042 dhapache  20   0  118m 9472 1576 S    0  2.2   0:00.00 apache2-ps13837
15043 dhapache  20   0  118m 9520 1616 S    0  2.2   0:00.00 apache2-ps13837
15046 dhapache  20   0  118m 9484 1580 S    0  2.2   0:00.00 apache2-ps13837
15047 dhapache  20   0  119m 9452 1528 S    0  2.2   0:00.00 apache2-ps13837
22909 root      20   0 11520 2820  604 S    0  0.7   0:03.41 syslog-ng
22921 root      20   0 27024  960  852 S    0  0.2   0:01.26 sshd
22935 root      20   0  3900  332  328 S    0  0.1   0:00.00 courierlogger

即使我的网站访客很少。如何限制 Apache 的数量以减少内存使用量?谢谢!

答案1

这取决于您使用的 Apache 版本和默认使用的 MPM 模块。请向我们提供该信息,以便进行更准确的诊断

我猜你正在使用 worker 模块,因为这是我见过的大多数发行版的默认模块。但是,要检查,你需要运行,httpd -l或者在你的情况下,由于你的 apache 二进制文件似乎被调用,apache2-ps13837你需要调用apache2-ps13837 -l

由于 Apache 及其大多数模块都不是单线程进程,并且通常依靠多个进程来处理请求,因此它会启动多个进程它们是必需的。这提高了 Apache 在需要时处理传入请求的能力。

在这种情况下,您需要查看相关 MPM 模块的 MPM 变量。但是,如果您在进程列表中看到如此多的进程,您可能需要查看StartServers& ServerLimitMinSpareServers(如果您使用的是 prefork MPM)。

如果您能告诉我们您使用的是什么 MPM,我们可以再次提供更具体的信息。

答案2

查看多层印刷机

httpd配置文件

ServerLimit 5

相关内容