Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Jan 2024 12:26:12 +0000
From:      void <void@f-m.fm>
To:        freebsd-current@freebsd.org
Subject:   Re: poudriere: swap_pager: out of swap space
Message-ID:  <ZZ_eZLdlrthSgm-y@int21h>
In-Reply-To: <ZZ9Qn1W4k8UKnT6W@ilythia.eden.le-fay.org>
References:  <ZZ9Qn1W4k8UKnT6W@ilythia.eden.le-fay.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 11, 2024 at 02:21:19AM +0000, Lexi Winter wrote:
>hi list,
>
>i'm having a recurring problem with poudriere that i hope someone might
>have an idea about.
>
>i'm building packages with poudriere on a system with 32GB memory, with
>tmpfs and md disabled in poudriere (so it's using ZFS only) and with the
>ZFS ARC limited to 8GB.
>
>running poudriere produces many kernel log messages like this:
>
>Jan 10 21:40:00 ilythia kernel: swap_pager: out of swap space
>Jan 10 21:40:00 ilythia kernel: swp_pager_getswapspace(2): failed
>Jan 10 22:41:55 ilythia kernel: swap_pager: out of swap space
>Jan 10 22:41:55 ilythia kernel: swp_pager_getswapspace(21): failed
>Jan 10 23:48:03 ilythia kernel: swap_pager: out of swap space
>Jan 10 23:48:03 ilythia kernel: swp_pager_getswapspace(8): failed
>Jan 11 00:05:00 ilythia kernel: swp_pager_getswapspace(1): failed
>Jan 11 00:21:45 ilythia kernel: swp_pager_getswapspace(10): failed

I also have a 32GB system. My way of dealing with this is to set, in
the global poudriere.conf

USE_TMPFS=all
TMPFS_BLACKLIST="rust llvm* electron* libreoff* iridiu* chromium* qt* gcc*"
TMPFS_BLACKLIST_TMPDIR=${BASEFS}/data/cache/tmp
PARALLEL_JOBS=1
ALLOW_MAKE_JOBS=yes

and, in /etc/sysctl.conf

# filesystem
vm.pageout_oom_seq=120
vm.pfault_oom_attempts=-1
vm.pageout_update_period=0
# avail memory = 33303379968 (31760 MB) / 8 = minimum for vfs.zfs.arc.max
vfs.zfs.arc_max=4162922496

The most important settings out of the lot is PARALLEL_JOBS=1 and 
ALLOW_MAKE_JOBS=yes otherwise building things like rust overwhelm 
the system.

This is on 14-stable amd64. The TMPFS_BLACKLIST_TMPDIR= is on SSD
(not a particularly performant one, but it's quicker than
spinning rust)

-- 



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