On Thursday, 30 November 2023 10:16:25 GMT Nuno Silva wrote: > On 2023-11-29, Michael wrote: > > On Monday, 27 November 2023 15:39:33 GMT Peter Humphreey wrote: > >> Hello list, > >> > >> I still can't see how portage limits the load. Today I'm emerging > >> libreoffice, and it's spending almost the whole time working with 4 CPU > >> threads. But: > >> > >> $ grep -e '\-j' -e distcc /etc/portage/make.conf > >> EMERGE_DEFAULT_OPTS="--jobs=18 --load-average=30 --backtrack=200 -- > >> autounmask=n --keep-going --nospinner" > >> FEATURES="distcc userfetch buildpkg network-sandbox parallel-install > >> sandbox userpriv usersandbox" > >> MAKEOPTS="-j18" > >> > >> I found a suggestion to use distcc in the installation handbook, which I > >> hadn't seen there before, so I went searching for it and found how to do > >> it. It usually works well, in this case starting 18 packages before > >> starting LO itself. grep -rw doesn't find '4' anywere relevant under > >> /etc/portage/ . Other times it just doesn't help at all. > >> > >> What am I missing? > > > > In absence of other contributions I'll offer a theoretical explanation, > > based on random observations on my systems. > > I can't explain the 4, but one thing about this configuration (although > it's possible this has been already discussed before, apologies if > > that's the case): > > You have specified as many as 18 packages to be emerged in parallel x up > > to 18 make jobs each. The result of [18 x 18 = 324] is to be limited by > > a total load average of 30. > > [...] > > > Were this to occur the load limit restriction would kick in and you would > > see only up to 30 jobs listed in top, with individual package processes > > alternating in the top list of make threads. > > The load limit is being set only for emerge, not make, so it would only > affect the decision to start building more packages in parallel. The > already started ongoing builds could still take the load beyond 30, with > more than 30 processes - there is nothing set to prevent that, or is > there?
As I understand it any tasks the emerge command is spawning, including make jobs, will be respectful of the '--load-average 30.0'. When only MAKEOPTS is specified, then a '-l 30.0' would be needed there to apply the same load limit average.
signature.asc
Description: This is a digitally signed message part.