FYI: main-n268827-75464941dc17 GENERIC-NODEBUG UFS-based poudriere bulk context got 4 "swap_pager: cannot allocate bio"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 24 Mar 2024 13:02:56 UTC
Context: I'm deliberately testing building example poudriere-devel configurations with only 2 GiBytes of RAM and RAM+SWAP == 8.5 GiBytes, SWAP on a partition of its own. # tail -3 /var/log/messages Mar 23 16:39:38 aarch64-main-pkgs kernel: pid 37137 (conftest), jid 11, uid 0: exited on signal 11 (core dumped) Mar 24 04:51:50 aarch64-main-pkgs kernel: swap_pager: cannot allocate bio Mar 24 04:51:50 aarch64-main-pkgs syslogd: last message repeated 3 times It is the first time I've seen such a message. I've a modified top that tracks some "MaxObs" (Maximum Observed) figures. They happened to show: Mem: . . . 1473Mi MaxObsActive, 477304Ki MaxObsWired, 1908Mi MaxObs(Act+Wir+Lndry) Swap: . . . 3101Mi MaxObsUsed, 4456Mi MaxObs(Act+Lndry+SwapUsed), 4887Mi MaxObs(A+Wir+L+SU), 4933Mi (A+W+L+SU+InAct) (The 4933Mi (A+W+L+SU+InAct) is from when 4887Mi MaxObs(A+Wir+L+SU) was live but is not a MaxObs figure itself.) It was paging significantly at the time, of course. It seems to have survived okay and everything continued to build. It got past the peak RAM+SWAP use activity. For reference: /usr/local/etc/poudriere.conf has . . . NO_ZFS=yes USE_TMPFS=data PARALLEL_JOBS=2 ALLOW_MAKE_JOBS=yes MAX_EXECUTION_TIME=432000 NOHANG_TIME=432000 MAX_EXECUTION_TIME_EXTRACT=14400 MAX_EXECUTION_TIME_INSTALL=14400 MAX_EXECUTION_TIME_PACKAGE=57600 MAX_EXECUTION_TIME_DEINSTALL=14400 /usr/local/etc/poudriere.d/make.conf has . . . MAKE_JOBS_NUMBER_LIMIT=2 /boot/loader.conf has . . . vm.pageout_oom_seq=120 rust and llvm18 were building at the time. The from-scratch bulk build is of 271 packages. 143 had already built. llvm18 was using more RAM+SWAP than rust and was working on some llvm-tblgen runs for AMDGPU at the time. The swap partition in use was/is: => 34 1875384941 da0 GPT (894G) . . . 523773952 13631488 da0p10 freebsd-swap (6.5G) . . . # uname -apKU FreeBSD aarch64-main-pkgs 15.0-CURRENT FreeBSD 15.0-CURRENT main-n268827-75464941dc17 GENERIC-NODEBUG arm64 aarch64 1500015 1500015 That is a PkgBase kernel and PkgBase world combination. The poudriere bulk jail is also 75464941dc17 but was via the artifact build materials. The 2 GiBytes is via the RPi4B config.txt having total_mem=2048 . (I've no access to an aarch64 with 2 GiBytes of actual RAM.) The media is USB3. It happens to be U.2 Optane 960GB media via a USB3 adapter for U.2 . The UFS partition was/is: 537405440 1337979528 da0p9 freebsd-ufs (638G) === Mark Millard marklmi at yahoo.com