Broken memory management on system with no swap
Jeff Roberson
jroberson at chesapeake.net
Sun Apr 20 22:38:31 PDT 2003
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
More information about the freebsd-current
mailing list