我发现有七个 (x7)apache2
流程:
PID TTY STAT TIME COMMAND
770 ? Ss 0:00 /usr/sbin/apache2 -k start
773 ? S 0:00 /usr/sbin/apache2 -k start
774 ? S 0:00 /usr/sbin/apache2 -k start
775 ? S 0:00 /usr/sbin/apache2 -k start
776 ? S 0:00 /usr/sbin/apache2 -k start
777 ? S 0:00 /usr/sbin/apache2 -k start
1223 ? S 0:00 /usr/sbin/apache2 -k start
我检查apache2.conf
了启动服务器和最大客户数但它不在那里,所以我尝试通过编辑以下文件并将 3 的值设置为启动服务器参数并保持值 5最大客户数参数如下图:
$ sudo nano /etc/apache2/apache2.conf
...
StartServers 3
MaxClients 5
...
但仍然有并且始终有 7 个进程。知道如何将其减少到只有 3 个进程吗?
答案1
Apache 2.4 的工作进程是高度可配置的。您应该阅读 Apache 多处理模块的基本概念:
https://httpd.apache.org/docs/2.4/en/mpm.html
要调整参数,您必须阅读文档,其中对每个人都有详细解释:
https://httpd.apache.org/docs/2.4/de/mod/worker.html
为了限制进程总数,您可能可以使用服务器限制指令:
/etc/apache2/mods-enabled/mpm_.conf:
ServerLimit 3
StartServers 3
MinSpareServers 3
MaxConnectionsPerChild 250
请记住,强制减少工作人员数量可能会导致意外行为或减慢应用程序速度。
例如,如果您使用此设置运行 PHP Webfrontend,则 Apache 一次只能处理 3 个请求。所以你应该考虑一下你想要达到什么效果,以及是否真的有必要限制进程数量。
当然总会有一个父进程n工人子进程:
root 15873 0.0 0.1 73636 2728 ? Ss 17:25 0:00 /usr/sbin/apache2 -k start
www-data 15876 0.0 0.1 418104 2476 ? Sl 17:25 0:00 \_ /usr/sbin/apache2 -k start
www-data 15877 0.0 0.1 418104 2480 ? Sl 17:25 0:00 \_ /usr/sbin/apache2 -k start
www-data 15878 0.0 0.1 418104 2484 ? Sl 17:25 0:00 \_ /usr/sbin/apache2 -k start