我的主机 (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
& ServerLimit
或MinSpareServers
(如果您使用的是 prefork MPM)。
如果您能告诉我们您使用的是什么 MPM,我们可以再次提供更具体的信息。