Re: On memory consumption - request for comments

"Hendrik Schumacher" <[email protected]>
Newsgroups gmane.comp.apache.mod-perl
Message-ID <[email protected]>
Am Fr, 11.02.2011, 16:46, schrieb Michael Peters:
> On 02/11/2011 09:26 AM, Torsten Förtsch wrote:
>
>> What does that mean?
>> ====================
>>
>> The total size of a process comprises its complete address space.
>> Normally, by
>> far not everything of this space is present in RAM.
>
> I'm not sure I'm understanding you correctly here, but are you saying
> that most of the time not all of a process's memory space is in hardware
> RAM? If you are saying that, then I would disagree, at least in the
> context of httpd/mod_perl. Most of the time (if not all the time) the
> goal should be to have enough RAM that your httpd processes completely
> fit into memory.
>
> Or am I missing something?
>
> --
> Michael Peters
> Plus Three, LP
>

I didnt have time yet to read Torsten's post (will do later) but I will
take a stab at this question. You are missing the difference between
address space and used memory. Sample extract from /proc/*/smaps:

Size:                884 kB
Rss:                 536 kB
Pss:                  17 kB
Shared_Clean:        536 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:          536 kB
Swap:                  0 kB

In this case the address space has a size of 884 kb. Only 536 kb are used
though (Rss/Referenced). All of this space is shared. As you can see the
difference between 884 kb and 536 kb is not swapped out but just not
allocated.

Relying on smaps is a little complicated because the format differs with
the kernel version.

I usually use (just) Private_Dirty to determine if an apache process
should be restarted. Its hard to find good thresholds though.

Hendrik
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.