Hello mod_perl'ers.

I don't know if it's just me, but I'm having problems with growing
memory reallocation on a HUP or graceful (USR1) restart.  I've looked
through the mailing list archives and the wonderful guide, but have
come up short of answers.

First off, the config:

  Red Hat apache 1.3.12 rpm with mod_perl 1.22 (same spec file as used
  for 1.21 rpm) Very simple configs..  PerlFreshRestart is off.  No
  weirdness in the error logs, etc.

Now, on to the numbers.  I started a server with a clean config and
slowly added the perl configs, and came up with the following memory
analysis.

No perl configs (numbers are actual/shared memory usage, hup by hup)

  3588/2228 -> 3636/2284 -> 3680/2324 -> 3724/2364 -> 3768/2404 -> 3812/2444

Adding a (very) small Apache::Registry section results in:

  4332/3024 -> 4732/3436 -> 5132/3832 -> 5528/4228 -> 5928/4624 -> 6328/5020

Adding the Apache::ASP section to the server

  7608/6312 -> 9596/8300 ->  11472/10196

Adding a fairly complete startup.pl:

 20112/18468 -> 26296/24640 -> 32480/30808


Let's look at the slimmed down case (c1), the deltas are:
  48 44 44 44 44

Now c2:
  400 400 396 400 400

Ah, linear.

A quick calculation reveals that the amount of non-shared memory
remains constant.

The amount of memory increase seems to be in proportion to the initial
size of the process too.  Seems to me that the process is not freeing
memory as it reinitializes.

Has anyone found a work around?  Please don't ask me to ditch the DSO..

-- 
Paul Lindner
[EMAIL PROTECTED]
Red Hat Inc.

Reply via email to