apache2在www-data下的多个实例

时间:2013-11-29 23:41:33

标签: linux apache raspberry-pi gnu

我在我的RaspberryPi上运行apache2,主要是为了与流媒体音频的mpd php客户端连接。大约一个月后,我看到以下内容:

 PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                     
 1496 www-data  20   0 55900  17m 2112 S   0.0  9.3   0:30.32 apache2                                                                     
 7198 www-data  20   0 54868  15m 2188 S   0.0  8.4   0:10.57 apache2                                                                     
 7182 www-data  20   0 54868  15m 2168 S   0.0  8.3   0:11.67 apache2                                                                     
 1497 www-data  20   0 53844  15m 2132 S   0.0  8.2   0:07.58 apache2                                                                     
 2609 mysql     20   0  314m  15m  280 S   0.7  8.1  71:58.52 mysqld                                                                      
 7185 www-data  20   0 54868  14m 2180 S   0.0  8.1   0:08.71 apache2                                                                     
 7183 www-data  20   0 54868  14m 2120 S   0.0  8.1   0:14.36 apache2                                                                     
 1499 www-data  20   0 53844  14m 2144 S   0.0  8.0   0:07.73 apache2                                                                     
 1932 mpd       20   0 81204 8152  584 S   0.0  4.3 145:46.25 mpd                                                                         
 7211 www-data  20   0 45652 8004 2204 S   0.0  4.2   0:01.65 apache2                                                                     
 3318 www-data  20   0 45652 7944 2140 S   0.0  4.2   0:03.43 apache2                                                                     
 7210 www-data  20   0 45652 7784 2176 S   0.0  4.1   0:01.28 apache2                                                                     
 1965 root      20   0 44532 5268  216 S   0.0  2.8   1:53.06 apache2
 7168 www-data  20   0 45652 7956 2140 S   0.0  4.2   0:02.42 apache2

随着mpd和mysql以及root apache2进程,11个apache2进程作为www-data运行。重启后,我在www-data下看到了5个apache2进程。

为什么更多进程会被抛弃,而不是关闭?我继续看到这种情况一直在增长,直到有20多个进程,这会在资源有限的情况下放慢这个小的速度。

为什么新进程会产生,然后会持续存在?我可以在conf.d中控制它吗(我已经尝试过,但反馈过程需要几天或一周,所以很难说出来。)

1 个答案:

答案 0 :(得分:3)

Apache - 在前叉模式下运行时 - 生成一个工作进程池,以便将响应时间保持在较低水平。每个工人都要对某个要求负责。因此,如果有11名工作人员在运行,那么apache可以在“并行”中提供11个请求,而不会产生新进程(需要花费大量时间)

Apache会生成工人/并使他们智能地保持活着,但您可以在apache2.conf

中设置最大和最小工人数量