Re: poudriere-devel: only 2 builder of 4 are running

From: Paul Mather <paul_at_gromit.dlib.vt.edu>
Date: Sun, 25 Oct 2026 16:30:40 UTC
On Oct 25, 2026, at 11:01 am, Matthias Apitz <guru@unixarea.de> wrote:

> El día domingo, octubre 25, 2026 a las 03:33:40p. m. +0100, Rainer Duffner escribió:
> 
>> 
>>> Am 25.10.2026 um 14:03 schrieb Dimitry Andric <dim@FreeBSD.org>:
>>> 
>>> 
>>> Typically, a bunch of dependencies is waiting for llvm22 to finish, so only when that "logjam" is done, the rest will continue.
>>> 
>>> Furthermore, if it ends up building llvm22 and libreoffice simultaneously, it is likely that the host machine is going to be highly loaded, and maybe going into swap? Have you checked how much RAM and swap are used?
>>> 
>> 
>> 
>> Over the years, RAM and swap requirements have risen significantly.
>> 
>> This is especially true when it happens that it's building two „large“ things at the same time. For me it was gcc14 and rust.
>> 
>> chromium is also notorious for requiring huge amounts of RAM and swap for linking.
> 
> After the successful end of llvm22, the other two builders picked up
> ports from the queue again. So, sorry for the noise.
> 
> A way to look into the queue to see what is waiting for actual running
> builds would be nice, though.


Poudriere comes with the ability to view progress via the Web (e.g., using Nginx or Apache).  I have that set up and use it if I want to see the current progress of a build (also to easily see build logs for a given port).  For a build, it will let you see (amongst other things) the queued ports and the reason for their being queued.


> Also a way to stop running builders to let the last (long) runner
> terminate before stopping poudriere would be a nice feature.


The poudriere.conf file also has various ways of constraining the resource usage of a build, e.g., to prevent heavy resource using ports from using TMPFS, or to prevent multiple "big" ports from being built at the same time (e.g., MUTUALLY_EXCLUSIVE_BUILD_PACKAGES).  It's also possible to selectively enable ALLOW_MAKE_JOBS for given packages (ALLOW_MAKE_JOBS_PACKAGES) to speed up building for known choke points.  Also, PACKAGE_FETCH_... options can speed up builds by fetching packages rather than building them.

Cheers,

Paul.