Portál AbcLinuxu, 12. května 2025 17:13
Řešení dotazu:
systemctl mask tmp.mount
mount
. Navíc to nedělá sám systemd sám o sobě, ale ten unit tmp.mount. Že to je na Archu výchozí nastavení je věc distribuce.
Proč přesně by mělo být ze 4 GB přístupných jen 2 GB? Nemáš náhodou nějakou špatnou představu o tom, jak funguje tmpfs
?
Přesně tak. Kdo říká, že tam ty 2 GB budou pořád uložené? 2 GB je limit, nikoliv alokace zabraná nastálo. Když tam bude uložených 100 kB, zabere to 100 kB + nějaký ten overhead.
A nakonec i kdyby tam trčely celé 2 GB nějakých dočasných dat, neznamená to (obecně), že tím budou pořád zabrané 2 GB RAM — pokud ta mašina má swap (což už sice vyšlo z módy, ale na noteboocích kvůli hibernaci se to stále ještě nastavuje) a na ta dočasná data v tmpfs
moc nesahá, časem se tmpfs
odswapuje jako kterýkoliv jiný kus RAM a celé 4 GB můžou být k dispozici pro něco, co na RAM sahá častěji.
/dev/shm
, /run
a /tmp
. Obvykle všechny tmpfs
mají dohromady cca 20-50 MB, ale když je potřeba tak naberou velikost a při nejhorším se něco odswapuje. A swap pokud je to možné sídlí na SSD, Obavy z opotřebení buněk nejsou při běžném použití na místě. Pracovní stanice se swapem na SSD a hlavně se zapnutým indexováním v KDE má po 4 letech (cca 25000 provozních hodin) použití na 128 GB SSD sumární zápis (ze smart) pod 28TB tedy cca 270 krát přepsané buňky, jednu realokovanou buňku (už rok a půl) a SSD_Life_Left je na 97. Ten odejde dříve na jiné příčiny než přepis.
mount tmpfs /tmp -t tmpfsje to problém Upstartu? /tmp připojený do tmpfs má daleko menší overhead, i v porovnání s SSD je asi tak 2Ox rychlejší, zabraňuje zbytečným zápisům na médium, případně roztáčení ploten mechanických disků a zajišťuje, že se po restartu adresář /tmp skutečně vyprázdní. Jasně, mít tohle jako výchozí nastavení může chtít fakt jenom šílenec...
/etc/fstab
, třeba /run
, /dev/shm
, /proc
, /sys
, /sys/kernel/security
a mnoho dalších. Ten zlý a ošklivý sysvinit!
fstab tmpfs resilna
fstab tmpfs na /tmp resil
adresář.mount
místo bůhvíjakého init skriptu? A že se to vypne pomocí systemctl mask adresář.mount
místo nastavování bůhvíčeho v bůhvíjakém souboru v /etc/default
? Nebo je to v /etc/sysconfig
? Nebo se to musí předat při bootu? Či je to natvrdo v tom init skriptu a jinak než jeho změnou to nejde udělat? Bordel v tom byl vždycky.
systemctl mask tmp.mount
. Silně však doporučuji toto nastavení neměnit. Pokud je potřeba půjčit yaourtu větší diskový prostor, lze vytvořit soubor ~/.yaourtrc
s proměnnou TMPDIR
nastavenou na vhodnou cestu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.