Re: Memory management



Peter Jeremy <peterjeremy@xxxxxxxxxxxxxxxx> é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.
_______________________________________________
freebsd-stable@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: Heaps and Foreigners
    ... >> can ask for the memory and get a pointer to it. ... cause unfathomable deaths when swap space gets low or is exhausted. ... It's probably because there is some reserve memory to print out errors ... of RAM and disk space) and virtual swap (which is just a number managed ...
    (comp.lang.lisp)
  • Re: Is Greenspun enough?
    ... Most OSes memory map executables directly from the file system so code doesn't pollute the file cache or swap space. ...
    (comp.lang.lisp)
  • Re: [kde-linux] VM and Swap problems
    ... swap is half full the system starts removing swap until it is exactly ... Maybe one of your applications leak memory (I have a webpage ... to two times RAM. ... Unused memory will be used as disk buffers. ...
    (KDE)
  • Re: [RFC][PATCH 2/9] deadlock prevention core
    ... don't try to swap over the network. ... We could track dirty anonymous memory and throttle. ... to be stuck in wait queues. ... What is a "socket wait queue" and how/why can it consume so much memory? ...
    (Linux-Kernel)
  • [HPADM] RE: -SUMMARY- Clarification on swapinfo/glance output
    ... Memory allocation under HP-UX can be a little odd, ... the system needs to swap out a portion of that program, ... configured swap space, you will no longer be able to run more programs (they ... The pseudo swap is enabled by default by ...
    (HP-UX-Admin)