Subject: Page replacement policy questions
To: None <tech-kern@netbsd.org>
From: Michael Graff <explorer@flame.org>
List: tech-kern
Date: 12/06/2001 23:12:50
I'm not a VM expert, but I do have a question.

Right now, we have a VM system that, from a user point of view, seems
less than optimal.  The UBC is great, but here are the characteristics
I'm finding annoying:

        (1) processes on a 2 GB machine start swapping at about 500
            MB.

        (2) The system seems to treat cache pages as importantly as
            process data pages.

        (3) After walking away for a few minutes, all my tcsh's swap
            out, even on a fairly idle machine.

This is a simple policy, but I'm wondering why we can't do something
like:

        Maintain a count of how many pages are used for cache and how
        many pages are used for process data.

        Have a minimum reserved count for each, where the other type
        of page cannot intrude into.  This is mostly to guarantee the
        cache has some pages.

        Memory has three types:  cache, free, and in use by a process.

        When free memory is low, pages are reclaimed from the cache
        and process spaces, depending on which is currently using
        more, biased for reusing cache pages.

        The system tries to keep some bit of memory always free, say
        4-16 MB (depending on system size) so processes can start
        quickly.

--Michael