Torsten Foertsch schrieb:
Of course it depends on your setup. If you configure only a small
number of interpreters then the overall memory footprint can be lower
then with prefork where each process runs its own interpreter. But the
effect of the copied interpreters outweighs this very soon.

I see. Guess I have some reading to do to better understand what
"interpreters" as in Perl ithreads really means.

Measuring memory consumption on Linux is not simple. You can't simply
add up all RSS or VSZ figures or something like this. I know of 2
approaches that work more or less well.

1) call mlockall in the parent and then use /proc/PID/smaps (or
Linux::Smaps) to measure shared memory

2) take a system with enough RAM and nothing else to do, start apache
with different numbers of children and watch the free memory with
vmstat while doing so. Then you can estimate the amount of memory that
is consumed by one apache process. See the attached picture for
example.

Thanks for sharing this.

You can run recovery in a separate process spawned at startup by the
parent.

That's a good idea. And a simple one at that. Thank you!

Michael

Reply via email to