httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Varju <va...@antiflux.org>
Subject Re: [users@httpd] Memory leak in Windows
Date Fri, 22 Nov 2002 17:30:30 GMT
On Thu, 21 Nov 2002, i.t wrote:
> I've proofed the system, httpd.conf and php.ini, opened the server-status what
> gives you good information - see how many megs are in certain slots.

I've added server-status, but I may not have it configured correctly.  It
will tell me how much volume a child thread has served out, but not how
much memory is allocated to the thread.  My config looks like:

  LoadModule status_module modules/mod_status.so
  <IfModule mod_status.c>
    ExtendedStatus On
    <Location /server-status>
      SetHandler server-status
    </Location>
  </IfModule>

> php scripts have been cleaned up due to not deleted temporary files;
> behavior is better than before, but during many simultaneous requests - most
> sites are php scripts

I'm not using PHP, so my problem may be a different one.

> the server seems to hang, CPU load goes to near 100 percent, memory
> usage may have doubled from 250 over 500 MB RAM.

My server does not hang ... it continues to process requests, just very
very slowly (as it's swapping like crazy).

> I've instructed a local admin to stop and start the server (not graceful) in
> such a situation. Otherwise it may take 10 to 20 minutes until the server
> cleans up. No request is possible in this phase. Server status shows a lot of
> long running reading requests. Example:
> 0-1 1064 0/461/461 R 734 0 0.0 1.71 1.71 ? ? ..reading..
> 0-1 1064 0/0/403 R  756 0 0.0 0.00 1.32  ? ? ..reading..

My server is not in this state after the tests have been run.  There are
only about 8 threads that have even been active during the life of the
test, and all of them look like they are in a reasonable state.

> Are you using Professional Advanced Server or the workstation?

I am running this test on Windows 2000 Professional SP2 (with most recent
hotfixes applied).  I have the same test running against Linux and Solaris
servers using the prefork model, and there are no problems there.

After an hour long test with SilkPerformer accessing various static and
CGI URLs, the memory footprint was sitting up around 100 megs allocated.
I had this running inside Purify at the time, and it looks like most of
the allocations are happening in one place, but I can't make sense out of
it.  I couldn't find a convenient way to export the data from Purify, so
here is a snapshot of the largest allocation block:

  http://snapple.webct.com/tmp/memory.png

As I said, though, I can't make sense out of this.  It says that the
allocation happened in overlap_hash(), but at first glance I can't see
anything that would allocate memory there.

Alex.



---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message