If left unbounded, then after a certain number of requests the
children will use up all the available memory and leave the server to
die from memory starvation. Note that sometimes standard system
libraries leak memory too, especially on OSes with bad memory
management (e.g. Solaris 2.5 on x86 arch).
If this is your case you can set
MaxRequestsPerChild to a small
number. This will allow the system to reclaim the memory that a
greedy child process consumed, when it exits after
But beware — if you set this number too low, you will lose some of
the speed bonus you get from mod_perl. Consider using
Apache::PerlRun if this is the case.
Another approach is to use the
Apache::SizeLimit or the
Apache::GTopLimit modules. By using either of these modules you
should be able to discontinue using the
although for some developers, using both in combination does the
job. In addition the latter module allows you to kill any servers
whose shared memory size drops below a specified limit.
The mod_perl site’s URL: http://perl.apache.org/