We are running an application which uses Apache 2.2.22 as a WebServer on Windows Server 2008 R2 Enterprise.

Looking at the httpd.exe child process in Process Explorer, we see the Private Bytes increasing by 60 MB every day.

This makes it mandatory to restart Apache every 9 working days when Apache hits at it's peak of around 1.2 GB.

Server-status shows:


Total accesses: 1042790 - Total Traffic: 552.1 GB
3.2 requests/sec - 1.7 MB/second - 0.5 MB/request
90 requests currently being processed, 510 idle workers

_______K__________________K_____K__K________K______________K____
_KK__K_K_____K_KR________KK____________________K____K___K_______
__K_K_______K______K___K_K__K__K____K___________K_______________
________________________R__KK_K__K____R_K_____________KK____KKK_
___K__K____________K_____K_______________________KKK____W_______
__K_K______K_KK_______________K_K__K_______K_____R___K__________
_______K____K_______K_____W________K__K_K____K_____________K____
_K________KR________K__K______K_____K_________KK______________K_
_______WK____________KK_K_K____________KK_____________K__K______
________________K_K_____........................................
................................................................


Hardware:

Intel(R) Xeon(R) CPU E5-2609 @2.40 GHz (2 processors)
RAM: 128 GB

httpd.conf:

KeepAliveTimeout 60
SendBufferSize 16384
Timeout 900
ThreadsPerChild 600

We are not running php as module.
We are also not using any third party module.

We did ran Apache Benchmark tool on some urls (urls from application and also Apache index.html). However we dint observed any memory increase.

We thought of using MaxRequestsPerChild, but since it's a Windows machine, with one child process, it will cause Apache to restart.

The server is a Production server and used 24 x 7. I would like to understand how can I reproduce the memory increase on exactly similar cloned TEST environment. What are the factors which can impact the memory?

I already have a TEST environment, with the only difference of load and usage.

I will also appreciate if I can get any pointer to identify what is taking this memory on windows and where to look at?

Thanks,
Nitin