[CentOS] Memory leak - how to investigate
Les Mikesell
lesmikesell at gmail.com
Mon Feb 3 20:39:33 UTC 2014
On Mon, Feb 3, 2014 at 1:59 PM, <m.roth at 5-cent.us> wrote:
> Kwan Lowe wrote:
>> On Mon, Feb 3, 2014 at 8:43 AM, Jussi Hirvi <listmember at greenspot.fi>
>> wrote:
>>
>>> My web & name server runs out of memory from time to time, to the point
>>> where it's completely unresponsive to anything. At that point reset is
>>> the only alternative. (Or, as this is a virtual guest, I just say "virsh
>>> destroy").
>>>
>>> But why this happens - I would like to know.
>>
>> Sever things could be occurring. The first thing I notice is that you have
>> many httpd processes running. This can be useful if you have many
>> simultaneous hits. If you don't, you can tune the number of processes down
>
> We've got a number of websites on one of our production servers, and they
> get hit moderately (it's not Amazon... but they are US gov't scientific
> research sites), and I think we've got 25 threads running, total, to
> server *all* of them.
> <snip>
>>> From "top" (situation now):
>>> Mem: 1361564k total, 1264324k used, 97240k free, 8428k buffers
>>> Swap: 3014648k total, 64852k used, 2949796k free, 358676k cached
>>>
>> That doesn't look like a lot of memory.. Possible to add another .5G or
>> so?
>
> Ah! I missed that. Is it actually the case that your server doesn't even
> have 2G of RAM? That's a *real* problem. If you're not running it on a
> five year old desktop, you need to add - I'd say you shouldn't be running
> with under 4GB of real memory.
>
> mark "got 8G on my home ssytem, and 6G on my workstation at work"
Yes, giving it a few dollars worth of RAM is the real fix. If you
have to squeeze by for a while without it, try setting
MaxRequestsPerChild to some reasonable (low thousands?) number in
httpd.conf to clear out modules that have memory leaks or a lot of
internal cache sooner. A new child process will share almost all
memory with the parent, slowly growing as values change. This is
especially bad for mod_perl or other embedded language modules if the
language does reference counting.
--
Les Mikesell
lesmikesell at gmail.com
More information about the CentOS
mailing list