Re: Some notes on the new ampere4's initial large-build time frames for port-packges
Philip Paeps <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.arm |
|---|---|
| Message-ID | <[email protected]> |
On 2026-01-09 07:02:41 (+0800), Mark Millard wrote:
> It was reported that ampere4 has 160 cores (two 80 core sockets) but
> only 256 GiBytes of RAM, so only about 1.6 GiBytes/core (mean), ignoring
> overheads and such. This likely help explain there being only 24
> builders in use and logs showing:
We limit the number of build jobs like this in poudriere.conf:
calc_builders() {
local GB_PER_BUILDER ncpu arcsize physmem swap vmem emem
GB_PER_BUILDER=12
ncpu=$(/sbin/sysctl -n hw.ncpu)
PREPARE_PARALLEL_JOBS=$((ncpu + 5))
# Tune BUILD_PARALLEL_JOBS based on amount of VM.
physmem=$(($(/sbin/sysctl -n hw.physmem) / 1024 / 1024 / 1024))
arcsize=$(($(/sbin/sysctl -n vfs.zfs.arc_max) / 1024 / 1024 / 1024))
swap=$(($(/sbin/sysctl -n vm.swap_total) / 1024 / 1024 / 1024))
vmem=$((physmem + swap))
# Calculate "effective" memory; Ignore greedy ARC.
emem=$((vmem - arcsize))
if [ ${emem} -lt 0 ]; then
# The ARC is probably too big.
emem=$((emem + arcsize))
fi
# Give each builder GB_PER_BUILDER
BUILD_PARALLEL_JOBS=$((emem / GB_PER_BUILDER))
if [ ${BUILD_PARALLEL_JOBS} -gt ${ncpu} ]; then
BUILD_PARALLEL_JOBS=${ncpu}
elif [ ${ncpu} -ge $((2 * BUILD_PARALLEL_JOBS)) ]; then
ALLOW_MAKE_JOBS=yes
fi
if [ $# -gt 0 ]; then
echo "calc_builders(): ncpu=${ncpu} physmem=${physmem} arcsize=${arcsize} JOBS=${BUILD_PARALLEL_JOBS}" >&2
fi
}
> I've also seen SWAP at 100% used, not that I know the amount of SWAP at any time or if SWAP has been reconfigured since I saw that.
All builders since beefy20 (I think) have 48G swap in a gmirror across at least one pair of disks.
> It has been reported that ampere5 currently has less RAM than ampere4.
> It as only been configured for 13 builders, so like ampere[123] for the
> builder count. (But it was reported ampere5 also has 160 cores, unlike
> ampere[123]'s each having 32 cores, and that ampere5 will have more RAM
> added.)
ampere4 and ampere5 are identical except that ampere4 has 16*16G DIMMs and ampere5 has 8*32G DIMMs (as of this morning).
https://people.freebsd.org/~philip/ampere4-dmesg.txt
https://people.freebsd.org/~philip/ampere5-dmesg.txt
ampere4 will get the same build as ampere5 when it finishes its current build.
Philip