Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jul 2006 13:56:56 +0200
From:      Stephane Dupille <stephane@dupille.org>
To:        stable@freebsd.org
Subject:   Re: Memory management
Message-ID:  <ygemzawa8af.fsf@nospam.fr.eu.org>
In-Reply-To: <20060726113412.GE740@turion.vk2pj.dyndns.org> (Peter Jeremy's message of "Wed, 26 Jul 2006 21:34:12 %2B1000")
References:  <ygek660btth.fsf@nospam.fr.eu.org> <20060726113412.GE740@turion.vk2pj.dyndns.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Peter Jeremy <peterjeremy@optushome.com.au> écrit :
>>  As time passing by, the memory fills up. When the machine starts,
>>memory is occupied to 30 %, and after two or three weeks memory is
>>occupied to 100 % and it begins to use swap.
> How are you monitoring memory usage?

  Using top, mainly. And ps, swapinfo, vmstat...

>  Do you mean 'swap' or 'page'?

  swap.

> A level of page-in's is normal because text and data areas for
> processes are loaded by paging them in.

  OK for that, but when I have 700 MB of "inactive memory", and "free
memory" reaching zero, the system begins to use the swap : swapinfo
says that swap is used (paged out). Is that normal ?

> Wired pages are pages that the kernel has wired to RAM so they cannot
> be paged out.  Active pages are being mapped by virtual memory and
> in use by running processes.  Inactive pages are not currently mapped
> but the kernel knows their contents and can re-map them without
> needing to retrieve them from disk - they may be dirty.  Cache pages
> are similar to active pages but aren't dirty and are higher-priority
> candidates for being freed.  Free pages have no useful content and
> will be used to fulfil page-in requests.

  OK, thanks for the definitions. Why there is two states "inactive"
and "cache", if they are so similar ? (it's just curiosity, my
questions have answers now.)

> Yes.  'Free' memory is basically wasted and so the kernel tries to limit
> it, subject to having sufficient free memory to meet page-faults.  Most
> of your RAM should be wired, active or inactive.  Inactive memory will
> start at 0 and grow as active pages are released.

  OK, sounds clear.

>> What should I do ?
> Nothing.  Why do you think you have a problem?

  As long as I was not sure what "inactive" means, I was not sure of
what to think. My first guess was that "inactive" memory are like
"active" memory but was not accessed for some time, and as such have
more priority to be pages out to swap than "active" memory.

  So i tried to search for the real definition of what "inactive"
memory is, and what I found was a little bit fuzzy.

>>  Do you have any tools to monitor memory usage of processes ?
> ps(1)

  ps(1) is ok to check snapshots of process states, but not the
evolution of the memory usages. I looked for a tool mainly to find
processes with memory leaks.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ygemzawa8af.fsf>