Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Apr 2003 01:38:27 -0400 (EDT)
From:      Jeff Roberson <jroberson@chesapeake.net>
To:        Matthew Dillon <dillon@apollo.backplane.com>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Broken memory management on system with no swap
Message-ID:  <20030421013449.V76635-100000@mail.chesapeake.net>
In-Reply-To: <200304201924.h3KJOxWo090302@apollo.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Sun, 20 Apr 2003, Matthew Dillon wrote:

>
>     note (1): normally act_count protects against thrashing.  It is the
>     active queue's act_count algorithm which gives FreeBSD's such a nice
>     smooth degredation curve when memory loads become extreme by preventing
>     a frequently accessed page from being freed too early, so we don't
>     want to just turn it off.  Maybe we need a test for 'too many active
>     pages', aka when > 80% of available pages are in the active queue
>     to temporarily disable the act_count test.

This is actually analogous to a problem that is solved in the 4bsd
scheduler.  The decay is effected by the load average so that all
processes do not reach the highest priority as a result of a heavily
loaded system.  The analogous idea being scaling some value based on
current system load.

What we could do is apply a filter to a raw act count based on memory
pressure.  I'm not familiar enough with the properties of the act count in
practice to suggest what that filter should be.  I think this should make
the system quite dynamic though.  You would require fewer passes for most
cases eh?

Cheers,
Jeff



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