I've been fiddling with my memory test module and I found something strange. I installed a local version for our internal use and was writing some tests for a very simple Registry script that I was sure wasn't leaking. However, much to my surprise, it started failing the tests when I ran 100 or so requests.

So I started digging in to find the source of this memory growth and I think I've narrowed it down to the server started by Apache::Test. I created a script that does nothing but print a header, and ran tests through an Apache::Test generated server and a server I ran independently using the same system binary. The independent one seemed memory stable, but the Apache::Test server grew just a little over time.

The usage I've seen looks something like this:

    size    vsize resident    share      rss
   12.7M    12.7M     6.3M       0k     6.3M
    264k     264k     560k       0k     560k
     24k      24k     136k       0k     136k
     16k      16k      16k       0k      16k
     16k      16k      16k       0k      16k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
      0k       0k       0k       0k       0k
--->  8k       8k       8k       0k       8k

After that, the 8k then pops up every 5 or 6 requests forever.

My question is, can someone familiar with the innards of Apache::Test shed some light on why it might grow like this? Is it storing some data such that it gets a little bigger, or might there be an unintentional leak in there?

I just don't completely understand what Apache::Test is doing to start that server, so any info would be helpful.

Thanks,
Jim

==========================================
Jim Brandt
Administrative Computing Services
University at Buffalo

Reply via email to