问题描述
Linux Apache 如何通过 prefork 模块限制 Apache 进程数量。
解决方案
首先使用命令 httpd -l 来查看下 prefork.c 模块是否安装了,如图:
查看模块安装了没有问题,然后我们通过 vi 编辑模块配置文件 httpd-mpm.conf,找到这行配置,进行调整:
具体参数解释:
- StartServers 代表启动 Apache 时同时启动的进程数量。
- MinSpareServers、MaxSareServers 代表最大与最小的备用程序数量。
- MaxClients 最大的同时联机数量,也就是进程数量不会超过此数量。假设有 10 个人连上来,则 Apache 的程序数应有 15~30个。
- MaxRequestsPerChild 0,配置每个子进程在其生存期内允许伺服的最大请求数量,到达 MaxRequestsPerChild 的限制后,子进程将会结束,如果 MaxRequestsPerChild 为 "0",子进程将永远不会结束。
将 MaxRequestsPerChild 配置成非零值有两个好处:
- 能够防止(偶然的)内存泄漏无限进行,从而耗尽内存。
- 给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
如果问题还未能解决,您可以到阿里云社区进行
免费咨询,或联系云市场商家
寻求帮助。