Gentoo Archives: gentoo-dev

From: Zoltan Puskas <zoltan@×××××××××.info>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] systems-246 changes tmpfs default size from 50% to 10% of RAM
Date: Wed, 29 Jul 2020 00:09:16
Message-Id: 20200729000909.GB4811@zenit
In Reply to: Re: [gentoo-dev] systems-246 changes tmpfs default size from 50% to 10% of RAM by Mike Gilbert
1 Hi,
2
3 >
4 > Don't use /tmp for PORTAGE_TMPDIR. /tmp is meant for small temporary
5 > storage. If you want to compile in a tmpfs, set up a separate mount
6 > point for it.
7 >
8
9 I'm not sure I can agree with this. If we are being pedantic then we
10 should look at FHS3.0, and it does not specify that it's intended only
11 for small files, only that the contents are essentially ephemeral, see:
12
13 https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.html#tmpTemporaryFiles
14
15 Even if user does not use it for portage, there are other legitimate
16 uses to have a large /tmp where user might want to store large amounts
17 of data for faster processing and also to save a non trivial amount of
18 SSD write cycles. Some real life example are:
19 - Firefox stores temporary downloads there like PDF or archive files,
20 that were selected to be opened with and application instead of
21 permanently saving it, which can pile up if Firefox is not restarted
22 for a longer period of time.
23 - I pointed Hugin (panorama stitcher) to /tmp, which during work
24 produces large amount of temporary data in the form of intermediate
25 files. Probably similar to other multimedia related work flows.
26 - Browsing an archive in mc (MidnightCommander) will result in large
27 amount of data being unpacked into /tmp.
28 - During proxy maintenance when patching a source tree, I will actually
29 untar 2 copies into /tmp and do the patching, test compiling and
30 diffing there.
31
32 /tmp in convenient (and IMHO intended) for this kind of use, and users
33 probably rely on it without even knowing they do. They should not be
34 required to setup a new tmpfs mount for every use case, especially since
35 many things implicitly assume /tmp is to be used for temporary storage.
36 I don't see why portage cannot fit into this formula, especially since
37 it does not use that much space relative to other potential use cases
38 (well except for compiling LibreOffice, Firefox and friends).
39
40 In today's world machines with 32-64GB of RAM are readily available, and
41 users probably want to utilize them as much as they can (at least
42 personally I do). Restricting /tmp to small files only does not make
43 sense on desktop and laptop environments for at least a decade now if
44 not more, and is probably even acceptable on home or low traffic servers
45 too.
46
47 Cheers,
48 Zoltan