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