Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Feb 2018 13:15:13 -0700
From:      Ian Lepore <ian@freebsd.org>
To:        bob prohaska <fbsd@www.zefox.net>, Mike <the.lists@mgm51.com>
Cc:        freebsd-arm@freebsd.org
Subject:   Re: Is maximum swap usage tunable?
Message-ID:  <1519848913.91697.387.camel@freebsd.org>
In-Reply-To: <20180228185517.GB26187@www.zefox.net>
References:  <20180228170311.GA26187@www.zefox.net> <a759ecea-83f4-b0b2-7113-c39633f68637@mgm51.com> <20180228185517.GB26187@www.zefox.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 2018-02-28 at 10:55 -0800, bob prohaska wrote:
> On Wed, Feb 28, 2018 at 12:20:56PM -0500, Mike wrote:
> > 
> > On 2/28/2018 12:03 PM, bob prohaska wrote:
> > > 
> > > In watching system compilations on an RPi3 it looks as if the
> > > system starts killing processes with "out of swap" warnings 
> > > well below 50% of full utilization (in this case, 2 GB). One
> > > recent instance of make -j4 kernel-toolchain killed llvm-tblgen
> > > with only 34% of the swap in use.
> > > 
> > > Is the maximum swap usage limit adjustable in any way? I didn't
> > > recognize anything useful in the page at
> > > https://www.freebsd.org/cgi/man.cgi?query=sysctl(8)&sektion=&manpath=freebsd-release-ports 
> > > 
> > > It's possible the problem is really swap speed, rather than size, so I'd
> > > like to try changing size limits if possible. The swap media claims 2-3 
> > > MB/sec random write speed and observations with gstat seem to support the
> > > claim, but transient stalls are hard to observe. An RPi2 with similar 
> > > hardware seems to have no problems.
> > > 
> > 
> > > 
> > > It's possible the problem is really swap speed
> > I was running into swap speed / timeout issues.  There were messages on
> > the console to that effect.
> > 
> > Once I put the swap space on rotating rust, that part of the compile
> > problem disappeared.  I use 1GB swap space.
> > 
> The latest kernel versions seem to have largely done away with the
> "indefinite wait buffobj" warnings. They're few and far between,
> the compile proceeds unless they're abundant. The fact that armv7
> has no problem, and the system is reporting "out of swap" with 34%
> in use strikes me as suspicious. Kernel and userland are in sync, 
> so the figure of 34% swap usage is probably accurate. 
> 
> Perhaps my question is better phrased thus: How does FreeBSD-arm 
> determine when it's out of swap?
> 
> Thanks for reading,
> 
> bob prohaska

You are reading too much into the phrase "out of swap".  It doesn't
mean literally "all sectors of all swapfiles are occupied with live
data".  It just means "out of memory".  It can happen because it's
unable to move more data to swap fast enough due to some short peak
demand.  It can happen for other reasons too, like all disk buffers in
use, or running out of resources to track the data in swap, or the
system can't find any more pages eligible to be moved out to swap.

It looks like the message that indicates swap space is truly full is

  swap_pager: out of swap space

Is that what you're seeing?  Or are you seeing processes killed with an
out of swap space message?

-- Ian



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