13-CURRENT: several GB swap being used despite plenty of free RAM
Mark Johnston
markj at freebsd.org
Sun Nov 18 00:13:23 UTC 2018
On Sat, Nov 17, 2018 at 04:59:48PM -0700, Ian Lepore wrote:
> On Sat, 2018-11-17 at 22:52 +0100, Wojciech Puchar wrote:
> > freebsd will not swap with that lots of free ram.
> > but it's 90GB free NOW, how about before?
> >
>
> Your information is outdated. For at least a couple years now (since
> approximately the 10.1 - 10.2 timeframe is my vague estimate), freebsd
> will page out application memory that hasn't been referenced for some
> time, even when the system has no shortage of free memory at all.
No, FreeBSD will only ever swap when there is a free page shortage. The
difference is that we now slowly age unreferenced pages into the
inactive queue, which makes them candidates for pageout and subsequent
eviction. With pageout_update_period=0, anonymous memory won't get
paged out unless there's a shortage of inactive pages, or an application
calls madvise(MADV_DONTNEED) on a range of memory (which moves any
backing pages to the inactive queue).
> The advice I was recently given to revert to the old behavior is:
>
> sysctl vm.pageout_update_period=0
>
> I've been using it on a couple systems here for a few days now, and so
> far results are promising, I am no longer seeing gratuitous swapfile
> usage on systems that have so much free physical ram that they should
> never need to page anything out. I haven't yet pushed one of those
> systems hard enough to check what happens when they do need to start
> proactively paging out inactive memory due to shortages -- it could be
> that turning off the new behavior has downsides for some workloads.
More information about the freebsd-hackers
mailing list