I have 4 apache processes running. One is run by a root and other 3 are
owned by www-data.
I will try your suggestion.

Minor update:
hitting examples app does not cause any issues (CPU is low and memory is
stable)

welcome app has slow memory increase
- I started with freshly restarted apache, 125Mb of memory used
- Reloading a page for one minute increased memory usage up to 190Mb.
- CPU was hitting the 100% limit but the hosting has a low CPU power
available and I'm less worried about CPU

Welcome app is very simple. I have much worse scenario with a real app, as
mentioned before.

Not sure what happens after a minute because everything (including shell
and htop) becomes unresponsive because of a CPU issue.

I will have to do some more testing. This time on my local computer where I
can use much more resources.
I will update this thread with the results.

Thank you for your help


On Tue, Oct 23, 2012 at 10:02 PM, Niphlod <[email protected]> wrote:

> Disclaimer: really not trying to be the devil's advocate here, but it's
> really unclear to me why with uwsgi I can't see any memory leak (and it's
> not set to restart itself on high memory usage) with over 2millions
> requests.
>
> You are confirming that configuring correctly htop you see only 2 apache
> processes and the rest are all threads ? How is it that they show different
> PIDs ?
> Disclaimer2: No expert on apache here, but I've seen my fair share and I
> can assume I can read properly the docs (
> http://httpd.apache.org/docs/2.2/mod/worker.html).
>
> You values means:
> Start with 2 processes (StartServer), 25 threads each (ThreadsPerChild).
> When there are less than 25 threads available (MinSpareThreads), spawn
> processes until at least 25 threads on total are free.
> Reap a process when there are 75 threads doing nothing (MaxSpareThreads).
> You can serve concurrently at most 150 clients (MaxClient), so you can end
> up with 150/25 processes (6) in normal statuses.
> Apache should never recycle processes because of the MaxRequestsPerChild 0
> directive.
>
> It's unclear to me that the following behaviour (seems the one happening
> to you):
> """
> if only one thread is terminating on one process serving a response, you
> may have more than one "terminating processes" (up to 150 (MaxClients)).
> """
> is avoided setting just MaxRequestsPerChild = 0 (like in your config) or
> setting also MaxSpareThreads = MaxClients.
>
> Anyway, you don't have in place the ServerLimit directive that cuts off
> the maximum number of processes spawned by apache (you should set it to a
> value going from 6 to whatever you want, but just to try I'd set
> MaxSpareThreads to 150 and if the same behaviour happens, I'd set
> ServerLimit to 6)
>
>  --
>
>
>
>

-- 



Reply via email to