[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/54209: NetBSD 8 large memory system performance extremely low
The following reply was made to PR kern/54209; it has been noted by GNATS.
From: mlelstv%serpens.de@localhost (Michael van Elst)
Subject: Re: kern/54209: NetBSD 8 large memory system performance extremely low
Date: Wed, 5 Jun 2019 07:47:54 -0000 (UTC)
> We observed 100% system time, almost no I/O (for DB or the rsyncs), also free memory was stuck for long times at 380Mb.
> Inactive memory was at 7Gb instead of the expected 2/3 main memory.
> Lots of memory starvation was happening.
> The memory starvation effects on a larger memory system seem to be a bit counterintuative.
That's how the page daemon policy works.
Active pages have been accessed recently, inactive pages haven't.
When active pages of type (exec,file,anon) exceed their max value, then
pages of the other types get reactivated, so there is some pressure
to reclaim pages of only the type that is overused. This stops when
all types get overused.
That method doesn't work good if you have mostly active pages of the
overused type as you wait for one of them to become inactive.
There are event counters (vmstat -e) to show this page reactivation.
pdpolicy reactanon 77094 0 misc
pdpolicy reactexec 50778 0 misc
When the file cache exceeded the maximum (that's pretty common),
the anon and exec types got frequently reactivated. This effectively
prevents programs from being paged out by the file cache.
Lowering all 'max' values probably makes all types 'overused', then
we don't apply this kind of pressure (as all types would need it)
and page allocation gets fast again.
Michael van Elst
"A potential Snark may lurk in every tree."
Main Index |
Thread Index |