Re: Broken memory management on system with no swap

From: David Schultz <das_at_freebsd.org>
Date: Sun, 20 Apr 2003 03:14:01 -0700
On Sun, Apr 20, 2003, Bruce Evans wrote:
> On Sat, 19 Apr 2003, David Schultz wrote:
> 
> > On Sat, Apr 19, 2003, Lucky Green wrote:
> > > There appears to be a memory management bug that affects systems without
> > > swap files. Processes are killed off due to the server being "out of
> > > swap space" even though top shows some 800MB of "inactive" memory
> > > available.
> >
> > ``Inactive'' just means that the page just hasn't been accessed
> > for a while and is a candidtate for replacement.  However, on a
> > system without swap, the system has nowhere to send the page if it
> > is dirty.  The only pages that can always be discarded and reused
> > are those in the ``Cache'' and ``Free'' categories.
> >
> > So the bottom line is that you really are running out of memory.
> 
> So the bug is mainly in vm making only a relatively useless statistic
> available.  On my systems, `Inact' is usually mainly for (non-dirty)
> VMIO pages.

Right.  dillon was planning to separate out the dirty and clean
pages in the inactive queue at some point.  ISTR that his intent
was along the lines of optimizing write clustering by making dirty
pages easier to find, or something along those lines.  But the
number of inactive dirty pages is useful as a statistic by itself,
too.

> The system has little difficulty discarding these, so
> I haven't had problems with processes being killed despite not using
> (much | any) swap since memories became cheap enough a few years ago.

I generally configure swap and use it only once in a blue moon.
Since there's no truly graceful way to handle an out-of-swap
condition, I'm usually glad that it's there once in a while.
But Lucky's concern is that confidential data should never hit
the disk.
Received on Sun Apr 20 2003 - 01:14:06 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:04 UTC