Gentoo Archives: gentoo-dev

From: Ulrich Mueller <ulm@g.o>
To: Sam James <sam@g.o>
Cc: gentoo-dev@l.g.o, qa@g.o
Subject: Re: [gentoo-dev] [PATCH] check-reqs.eclass: clamp MAKEOPTS for memory/RAM usage
Date: Wed, 05 Jan 2022 08:28:58
Message-Id: w6ga6gad1s2.fsf@kph.uni-mainz.de
In Reply to: [gentoo-dev] [PATCH] check-reqs.eclass: clamp MAKEOPTS for memory/RAM usage by Sam James
1 >>>>> On Tue, 04 Jan 2022, Sam James wrote:
2
3 > Crank down MAKEOPTS jobs if MAKEOPTS="-jN" is too high for the
4 > amount of RAM available (uses amount declared as needed
5 > in the ebuild). Typically should be ~2GB per job.
6
7 Where does this number 2 GB come from? The amount of RAM strongly
8 depends on the programming language and other factors, so I don't
9 believe that there's one number that can be used for everything.
10 (If only considering C and C++ 2 GB seems to be excessive, i.e. it
11 will limit parallel build more than necessary. When linking, the number
12 may be _much_ larger.)
13
14 Also not sure if I understand the arithmetic. Shouldn't it use
15 CHECKREQS_MEMORY as the basis of the calculation?
16
17 > +# @ECLASS-VARIABLE: CHECKREQS_MEMORY_MANGLE_JOBS
18 > +# @USER_VARIABLE
19 > +# @DESCRIPTION:
20 > +# Allow packages to reduce the number of multiprocessing (e.g. make, ninja) jobs
21 > +# to lower memory usage.
22 > +: ${CHECKREQS_MEMORY_MANGLE_JOBS=yes}
23
24 If anything, the feature should be opt-in rather than opt-out.
25
26 Ulrich

Replies