1 |
On 28 November 2017 11:07:58 GMT+01:00, Raffaele Belardi <raffaele.belardi@××.com> wrote: |
2 |
>Raffaele Belardi wrote: |
3 |
>> Hi, |
4 |
>> |
5 |
>> rebuilding system and world with gcc-7.2.0 on a 6-core AMD CPU I have |
6 |
>the impression that |
7 |
>> most of the ebuilds limit parallel builds to 1, 2 or 3 threads. I'm |
8 |
>aware it is only an |
9 |
>> impression, I did not spend the night monitoring the process, but |
10 |
>nevertheless every time |
11 |
>> I checked the load was very low. |
12 |
>> |
13 |
>> Does anyone have real-world statistics of CPU usage based on gentoo |
14 |
>world build? |
15 |
> |
16 |
>I graphed the number of parallel ebuilds while doing an 'emerge -e' |
17 |
>world on a 4-core CPU, |
18 |
>the graph is attached. There is an initial peak of ebuilds but I assume |
19 |
>it is fake data |
20 |
>due to prints being delayed. Then there is a long interval during which |
21 |
>there are few (~2) |
22 |
>ebuilds running. This may be due to lack of data (~700Mb still had to |
23 |
>be downloaded when I |
24 |
>started the emerge) or due to dependencies. Then, after ~500 merged |
25 |
>packages, finally the |
26 |
>number of parallel ebuilds rises to something very close to the |
27 |
>requested 5. |
28 |
> |
29 |
>Note: the graph represents the number of parallel ebuilds in time, not |
30 |
>the number of |
31 |
>parallel jobs. The latter would be more interesting but requires a lot |
32 |
>more effort. |
33 |
> |
34 |
>Note also in the log near the seamonkey build that the load rises to 15 |
35 |
>jobs; I suppose |
36 |
>seamonkey and other two potentially massively parallel jobs started |
37 |
>with low parallelism, |
38 |
>fooling emerge into starting all three of them, but then each one |
39 |
>spawned the full -j5 |
40 |
>jobs requested by MAKEOPTS. There's little emerge can do in these cases |
41 |
>to maintain the |
42 |
>load-average. |
43 |
> |
44 |
>All of this just to convince myself that yes, it is worth it! |
45 |
> |
46 |
>raffaele |
47 |
> |
48 |
>Method: |
49 |
>The relevant part of the command line: |
50 |
># "MAKEOPTS=-j5 EMERGE_DEFAULT_OPTS=--jobs 3 --load-average 5" emerge |
51 |
>-e world |
52 |
>on a 4 core CPU. |
53 |
>In the log I substituted a +1 for every 'Emerging' and -1 for every |
54 |
>'Installing', removed |
55 |
>the rest of the line, summed and graphed the result. |
56 |
|
57 |
Add the load average part to the makeopts and make will keep the jobs down when load rises. |
58 |
|
59 |
-- |
60 |
Joost |
61 |
-- |
62 |
Sent from my Android device with K-9 Mail. Please excuse my brevity. |