On 2023.05.12 12:23, Mark Knecht wrote:
[snip .....]
   One interesting point is that the first Gentoo page I found to
look at the emerge man page shows LOAD as the value provided
to the --load-average option, but nowhere does it specify anything
other than it's a floating point value:
I suspect the specification of floating point implies that it CAN take digits after the decimal point, but not that they are required, although that should be easy enough to test.

https://dev.gentoo.org/~zmedico/portage/doc/man/emerge.1.html

For clarification reading other sites, my understanding is that a
load average value of 1 in the top application is meant to
represent 1 CPU core operating at 100%. Assuming that's
true, then on Peter's 24 core machine, with LOAD=40, he's
telling emerge it's ok to use more cores than his machine has.

Is that consistent with your (or others) understanding?
Close, but not quite. (See https://en.wikipedia.org/wiki/Load_(computing) for more details.) I think your understanding will match any observations, but I see the definition as different. I understand the load (instantaneous, not average) is the number of processed in the "r" state, i.e., running or waiting for a CPU slice. That excludes any process explicitly sleeping or waiting for IO. Since it can change so quickly, the point load is not very useful, so it is more commonly presented as a value averaged over a period of time. Top shows 1, 5, and 15 minute averages.

Again, --load-average tells emerge whether it can start a new job/package, but has no control over how high the load will get based on the already started jobs. If emerge starts new jobs when the load is over that specified by --load-average, that does smell like a bug in emerge.


I think the mistake is one of those easy to make ones where
the human things 40% (hence 40) and the machine things
40% (hence 0.4)

Cheers,
Mark



Reply via email to