Is maximum swap usage tunable?
bob prohaska
fbsd at www.zefox.net
Wed Feb 28 21:51:39 UTC 2018
On Wed, Feb 28, 2018 at 01:15:13PM -0700, Ian Lepore wrote:
> 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?
>
I'm seeing
Feb 27 18:41:50 www kernel: pid 46399 (llvm-tblgen), uid 0, was killed: out of swap space
but never anything referencing swap_pager.
As it happens, the machine is still using two swap partitions, one
on USB flash and one on the microSD card. Another correspondent reported
that swap on microSD was troublesome, I thought that problem was fixed.
Maybe I was mistaken and should repeat the experiment.
Thanks for clarifying the terminology!
bob prohaska
More information about the freebsd-arm
mailing list