Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have an Apache 2.4 webserver that runs on a micro instance of AWS with CentOS.
The apache is running PHP with a prefork MPM module.
The server is accessed via an Amazon load balancer which has a health check that tries to access index.php webpage of the server every 60 seconds.

The problem is that after 1-2 days, Apache reaches somehow 256 opened processes with index.php page and gives the following error:

[Sun Sep 08 02:13:00.356051 2013] [mpm_prefork:error] [pid 1201] (12)Cannot allocate memory: AH00159: fork: Unable to fork new process
[Sun Sep 08 02:13:13.656694 2013] [mpm_prefork:error] [pid 1201] AH00161: server reached MaxRequestWorkers setting, consider raising the MaxRequestWorkers setting

Usually when this happens, new http connections are not accepted anymore.

Apache probably doesn't close all the connections of the load balancer.
We have another server with Apache 2.2, which doesn't have this problem, so probably the problem is with the 2.4 version which is much different than 2.2 (We didn't change any default configurations of Apache).

mod_status is enabled and here is the output that we could get when this happened once: http://www.speedyshare.com/vE3My/server-status.txt

Does anybody know how can we approach this problem?

Thanks in advance!

share|improve this question
    
What action did you take after reading that error? –  Drew Khoury Sep 15 '13 at 1:06
    
It doesn't accept you TCP connections when httpd can't provide more child processes. Checkout the mpm_common, paste out <IfModule prefork.c> stanza and check number of your running httpd processes. you may need adjusting ServerLimit. –  shawnzhu Sep 15 '13 at 1:12
    
@DrewKhoury, I had to restart apache, I didn't have any other option. –  Edi Sep 15 '13 at 22:44
    
@shawnzhu, The problem is not with the connection limit but with the fact that Apache reaches this limit. It should close these connections, but somehow it keeps them open. –  Edi Sep 15 '13 at 22:45
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.