![Apache2 实例随着页面刷新而不断增长](https://linux22.com/image/861778/Apache2%20%E5%AE%9E%E4%BE%8B%E9%9A%8F%E7%9D%80%E9%A1%B5%E9%9D%A2%E5%88%B7%E6%96%B0%E8%80%8C%E4%B8%8D%E6%96%AD%E5%A2%9E%E9%95%BF.png)
在运行 SMF 的网络服务器上,大概一天之后,URL 就无法解析……但 IP 地址可以正常工作。
如果我跑
ps aux | grep apache2 | wc -l
它显示有 150 多个 apache 实例正在运行...我唯一知道要做的就是重新启动 apache,这解决了问题并以大约 14 个实例的速度启动 apache。
如果我刷新主页然后运行
ps aux | grep apache2 | wc -l
这个数字慢慢地增加了一个。
我完全不知道该怎么解决这个问题...
版本信息:论坛版本:SMF 2.0.8 (更详细) 当前 SMF 版本:SMF 2.0.8 GD 版本:2.0 MySQL 版本:5.5.37-0ubuntu0.12.04.1 Memcached:??? PHP:5.3.10-1ubuntu3 服务器版本:Apache/2.2.22 (Ubuntu)
答案1
Apache 服务器使用多处理模块(MPM)预分叉。
根据本手册:
单个控制进程负责启动子进程,这些子进程监听连接并在连接到达时提供服务。Apache 始终尝试维护多个备用或空闲的服务器进程,这些进程随时准备为传入请求提供服务。这样,客户端无需等待分叉出新的子进程即可为其请求提供服务。
进程数量取决于流量和最大备用服务器数指示。
一旦 Apache 创建了一个进程,它将在以下情况下死亡:每个子进程的最大请求数请求已被服务,除非MaxRequestsPerChild
等于 0,在这种情况下子进程永远不会消亡。
所以,不用担心,这是正常现象,请检查您的 apache 配置并使用mod_status查看调试信息。