1 |
On Wed, Feb 15, 2023 at 4:56 AM Peter Humphrey <peter@××××××××××××.uk> wrote: |
2 |
> |
3 |
> Not long ago I read that we should allow 2GB RAM for every emerge job - that |
4 |
> is, we should divide our RAM size by 2 to get the maximum number of |
5 |
> simultaneous jobs. I'm trying to get that right, but I'm not there yet. |
6 |
> |
7 |
> I have these entries in make.conf: |
8 |
> EMERGE_DEFAULT_OPTS="--jobs=16 --load-average=32 --autounmask=n --quiet- |
9 |
> unmerge-warn --ke> |
10 |
> MAKEOPTS="-j16" |
11 |
> |
12 |
> Today, though, I saw load averages going up to 72. Can anyone suggest better |
13 |
> values to suit my 24 threads and 64GB RAM? |
14 |
|
15 |
First, keep in mind that --jobs=16 + -j16 can result in up to 256 |
16 |
(16*16) tasks running at once. Of course, that is worst case and most |
17 |
of the time you'll have way less than that. |
18 |
|
19 |
Keep in mind that you need to consider available RAM and not just |
20 |
total RAM. Run free under the conditions where you typically run |
21 |
emerge and see how much available memory it displays. Depending on |
22 |
what you have running it could be much lower than 64GB. |
23 |
|
24 |
Beyond that, unfortunately this is hard to deal with beyond just |
25 |
figuring out what needs more RAM and making exceptions in package.env. |
26 |
|
27 |
Also, RAM pressure could also come from the build directory if it is |
28 |
on tmpfs, which of course many of us use. |
29 |
|
30 |
Some packages that I build with either a greatly reduced -j setting or |
31 |
a non-tmpfs build directory are: |
32 |
sys-cluster/ceph |
33 |
dev-python/scipy |
34 |
dev-python/pandas |
35 |
app-office/calligra |
36 |
net-libs/nodejs |
37 |
dev-qt/qtwebengine |
38 |
dev-qt/qtwebkit |
39 |
dev-lang/spidermonkey |
40 |
www-client/chromium |
41 |
app-office/libreoffice |
42 |
sys-devel/llvm |
43 |
dev-lang/rust (I use the rust binary these days as this has gotten |
44 |
really out of hand) |
45 |
x11-libs/gtk+ |
46 |
|
47 |
These are just packages I've had issues with at some point, and it is |
48 |
possible that some of these packages no longer use as much memory |
49 |
today. |
50 |
|
51 |
-- |
52 |
Rich |