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>