Yuri <yuri_at_FreeBSD.org> wrote on
Date: Mon, 24 Feb 2025 04:42:13 UTC :
 
> There is the MAX_MEMORY setting in /usr/local/etc/poudriere.conf that is 
> commented out by default.
> Is it set in the poudriere on the builder servers?
> What happens when it is set to some limit and this limit is exceeded? 
> Are these processes swapped or killed in such case?

main [so: 15 as stands] does not swap out kernel stacks
any more. There is only paging to/from swap space.
I'm not aware of any parameter for causing a process
specific size that leads to that specific process
starting to page. Paging is based on more of a system
level criteria.

> I am looking into possible reasons why one port fails with runaway error 
> on arm64.

What port/package? I happend to have done a "bulk -ca"
test recently and could look at the log for that 
package's build.

The style of handling was to set up to allow high load
averages relative to the number of cores: one builder
per core but each active builder allowed that same
number of processes: core-count squared process possible,
even when everything is respecting the limits. (Some
packages do not for a time and end up with more
processes/threads.)

Overall the 'bulk -ca' activity was spread over something
like 56 to 60 hours. This was in a VM. (14 Parallels VM
cores on a MacBook Pro M4 MAX with 16 cores. 104 GiBytes
of Parallels RAM of 128 GiBytes in the system. RAM+SWAP
being 351 GiBytes or so total. But the test showed that
high volume paging in the VM did not mix well with the
kernel's "taking too long" sorts of criteria for
starting kills. Luckily my normal build activities can
avoid such significant paging.)

> One possible reason is that MAX_MEMORY is set and this process is 
> getting swapped in and out which makes it to run "forever".


===
Mark Millard
marklmi at yahoo.com


Reply via email to