httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ruediger Pluem <rpl...@apache.org>
Subject httpd memory consumption
Date Fri, 06 Oct 2017 07:46:39 GMT
I am currently looking at a core of a httpd 2.4 process using the event MPM that consumed a
lot of memory
(core dump file size about 1.4 GB).
While taking the core actually no request was processed by this process.
I suspect a memory leak in a 3rd party closed source module.
As I have no view in the 3rd party module I tried to find out the heap memory usage of httpd
and the included modules.

For this I used the new dump_pool_and_children I added to .gdbinit which delivers me the memory
used by all
pools below 'apr_global_pool' and the amount of memory in the allocator free lists associated
to these pools.
This delivered a usage of only a few MB. Of course I am aware that the process consumes additional
memory for stack,
static data and text segments, but this usage should be static.

Is there any heap usage by httpd that I could have missed?

- We do not use the unmanaged pools from APR. So I should have caught all pools.
- I do no think that we use allocators that are not used by a pool. Hence I should have caught
all allocators and
  its free lists.
- As no request was processed when I captured the core (all worker threads were waiting for
work) I doubt that missed
  any or at least large memory consuming buckets.

So possible other consumers of memory apart from the 3rd party module that come to my mind:

- Could any of the glibc (httpd was running on a Linux system) functions wrapped by APR consume
a lot of memory?
- As far as I researched glibc by default should return memory to the OS if more then 128
KB are free at the top of
  the heap.

Regards

RĂ¼diger

Mime
View raw message