On Sun, May 31, 2026 at 12:58:10AM +0200, Bugs Beastie wrote:

Probably this is the most reasonable direct way to go, to introduce "desktop builder(s)"! 
It will get all "small" packages already built from regular builders. It will crunch 
heavy desktop ports with only single poudriere builder, but with all available cores given to 
MAKE_JOBS!

Note that such setup is almost opposite to "regular builders" that have a small 
amount of cores per poudriere builder, but large number of poudriere builders!

Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz / 384GB RAM hw.ncpu=16 SHT=off

If it scales good further, 96 cores will manage electron in one hour! :)

What I've done in the past is to have the first build run of all the massive
ports to be built, with a high -J, tmpfs=all and every port in the list
configured in poudriere.conf to not build these massive ports simultaneously. Then have another build run for all the other ports, which completes relatively quickly because the prerequisites for many things are already available.

This at the time resulted in a greater chance of all ports being built.
I think the total time (massive-ports-build+regular-build) may be less
but I'd have to check.

It seems to me that some ports fight each other when J =>2 and even this
320GB 20 CPU system will run out of resources (typically swap) if the build runs with the complete portsbuild list in one go. The above build never hit swap.

Here's top output during the electron41 build

last pid: 76928;  load averages:   22.02,   21.41,   21.32  up 8+23:06:29  
20:17:14
184 threads:   20 running, 164 sleeping
CPU: 89.4% user,  0.0% nice, 10.6% system,  0.0% interrupt,  0.0% idle
Mem: 84G Active, 74G Inact, 29G Wired, 1176M Buf, 188G Free
ARC: 16G Total, 8693M MFU, 4833M MRU, 1368K Anon, 192M Header, 2607M Other
     12G Compressed, 19G Uncompressed, 1.61:1 Ratio
     Swap: 4096M Total, 4096M Free

--

Reply via email to