Re: Memoria virtual o fitxers temporals

Josep Lladonosa <[email protected]> Mon, 2 Feb 2026 08:14:41 +0100
Newsgroups gmane.linux.debian.user.catalan
Message-ID <CAPBO7TZNT12O3RkSfxe471N=BO11ApG3xtO3=iNSkcTfiquWAA@mail.gmail.com>
--00000000000058605f0649d21474
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hola, Narc=C3=ADs,
He demanat resposta a una amiga llestota (IA) ;-) :


El que veus no =C3=A9s que Linux estigui fent =E2=80=9Cswap camuflada=E2=80=
=9D amb arxius
temporals, sin=C3=B3 que quan vas molt just de RAM el nucli entra en un est=
at de
*thrashing* i fa molt=C3=ADssima E/S a disc abans o en comptes d=E2=80=99ac=
tivar l=E2=80=99OOM
killer, fins i tot sense cap partici=C3=B3 de swap configurada.[1][2][3]

## Qu=C3=A8 passa quan et quedes sense RAM

Quan la RAM s=E2=80=99omple, el nucli intenta recuperar mem=C3=B2ria abans =
de matar
res:[1][2][3]
- Descarta p=C3=A0gines de cache de fitxers (lectures/escriptures addiciona=
ls).
- Recarrega codi i dades que acaba de descartar quan un proc=C3=A9s les tor=
na a
necessitar.
- Si tens *tmpfs* (per exemple `/tmp` a mem=C3=B2ria), aquesta mem=C3=B2ria=
 compiteix
amb la resta i pot acabar pressionant m=C3=A9s el sistema encara que no tin=
guis
swap.[4][5]

Aix=C3=B2 genera molta E/S a disc (relectura constant de fitxers, journalin=
g,
log, etc.) i la m=C3=A0quina =E2=80=9Cs=E2=80=99amorra=E2=80=9D, tot i que =
no hi ha cap swap
activa.[2][3]

El nucli *no* crea autom=C3=A0ticament fitxers de swap ni converteix els
temporals en swap, per=C3=B2 s=C3=AD que els temporals en *tmpfs* =E2=80=9C=
consumeixen RAM=E2=80=9D
i, si hi hagu=C3=A9s swap, es podrien buidar parcialment cap a swap.[4][6][=
5]

## Com evitar-ho (o almenys controlar-ho)

Hi ha diverses estrat=C3=A8gies; en la pr=C3=A0ctica n=E2=80=99acabar=C3=A0=
s combinant algunes:

- **Activar una mica de swap =E2=80=9Cd=E2=80=99emerg=C3=A8ncia=E2=80=9D** =
(fitxer, no cal partici=C3=B3) amb
`swappiness` molt baix (per exemple 1=E2=80=9310) perqu=C3=A8 nom=C3=A9s s=
=E2=80=99utilitzi quan ja
vas al l=C3=ADmit, i aix=C3=AD evites el thrashing m=C3=A9s salvatge.[1][7]=
[2]
- **Fer servir zram/zswap**: swap comprimit en RAM, molt r=C3=A0pid, que et=
 dona
un coix=C3=AD addicional sense castigar tant el disc f=C3=ADsic.[8][2]
- **Configurar l=C3=ADmits de mem=C3=B2ria per proc=C3=A9s** amb `systemd` =
(`MemoryMax=3D`)
o `ulimit` per a sessions interactives, de manera que un proc=C3=A9s =E2=80=
=9Cboig=E2=80=9D mori
abans de portar tot el sistema al l=C3=ADmit.[1][2]
- **Activar i con=C3=A8ixer les tecles Magic SysRq** (Alt+SysRq+f) per for=
=C3=A7ar
l=E2=80=99OOM killer quan vegis que la m=C3=A0quina s=E2=80=99est=C3=A0 mor=
int per=C3=B2 encara tens una
mica de control.[2][9]
- **Vigilar on poses /tmp o altres tmpfs**: si `/tmp` =C3=A9s *tmpfs* molt =
gran,
un programa que hi aboqui molts fitxers pot pressionar molt la RAM; pots
limitar-ne la mida o posar-lo en disc si no tens swap.[4][5]

## Per qu=C3=A8 no veus clar qui =C3=A9s el culpable

Quan la m=C3=A0quina entra en thrashing, eines com `top` o `iotop` pr=C3=A0=
cticament
no responen o ho fan amb molt retard, i quan es recupera ja s=E2=80=99han t=
ancat
processos i la situaci=C3=B3 ha canviat.
Si vols diagnosticar-ho millor, pots:
- Habilitar *logging* del `oom-killer` i revisar `dmesg` o
`/var/log/kern.log` despr=C3=A9s de l=E2=80=99episodi.[1][3]
- Deixar `iostat`, `pidstat` o `atop` en segon pla enregistrant dades
peri=C3=B2dicament per tenir un =E2=80=9Chist=C3=B2ric=E2=80=9D a revisar q=
uan la m=C3=A0quina torni a ser
usable.[7][9]

En resum: no =C3=A9s que Linux faci swap amb temporals de forma oculta, sin=
=C3=B3 que
el seu comportament fora de mem=C3=B2ria =C3=A9s bastant agressiu en E/S i,=
 sense un
m=C3=ADnim de swap o l=C3=ADmits, acaba en thrashing abans de matar process=
os; posar
una mica de swap =E2=80=9Ccontrolada=E2=80=9D o zram i limitar processos ac=
ostuma a ser la
manera m=C3=A9s efectiva de prevenir aquests =E2=80=9Camorraments=E2=80=9D.=
[1][6][2]

Citations:
[1] system freezes rather than invoking OOM killer.
https://bbs.archlinux.org/viewtopic.php?id=3D233843
[2] Why is Linux so bad at handling OOM scenarios?
https://www.reddit.com/r/linuxquestions/comments/1fh3cjf/why_is_linux_so_ba=
d_at_handling_oom_scenarios/
[3] out of memory with no swap causes disk activity
https://bbs.archlinux.org/viewtopic.php?id=3D48319
[4] use swap when /tmp its out of space
https://bbs.archlinux.org/viewtopic.php?id=3D151122
[5] Correct location for temporary files, to save write endurance ...
https://discussion.fedoraproject.org/t/correct-location-for-temporary-files=
-to-save-write-endurance-on-nvme/105072
[6] Temporary files: RAM or disk? https://lwn.net/Articles/499645/
[7] System suddenly using all available swap, but plenty of free ...
https://discussion.fedoraproject.org/t/system-suddenly-using-all-available-=
swap-but-plenty-of-free-memory/79411
[8] the system is unusable on high disk io usage - openSUSE
https://www.reddit.com/r/openSUSE/comments/nl3q5p/the_system_is_unusable_on=
_high_disk_io_usage/
[9] Linux oom behavior always has had complaints[0]. Hope it ...
https://news.ycombinator.com/item?id=3D26451319
[10] How to fix high memory utilization caused by swap file in ...
https://www.facebook.com/groups/linuxforbeginners/posts/853503369795772/


--
Salutacions...Josep
--

El ds., 31 de gen. 2026, 18:51, Narcis Garcia <[email protected]> va
escriure:

> Hola debianites;
>
> Tinc un ordinador amb suficient mem=C3=B2ria RAM per a les tasques habitu=
als.
> No tinc configurada mem=C3=B2ria d'intercanvi (swap) perqu=C3=A8 preferei=
xo qu=C3=A8,
> si faig quelcom on l'ordinador es queda sense prou mem=C3=B2ria, en compt=
es
> d'amorrar-se amb el disc dur trenqui el proc=C3=A9s o el sistema es queix=
i.
>
> Doncs resulta qu=C3=A8 quan carrego alguna cosa extraordin=C3=A0ria i/o a=
mb moltes
> aplicacions i dades obertes, el sistema s'amorra fent no-s=C3=A9-qu=C3=A8=
 amb el
> disc dur.
> Quan es recupera la situaci=C3=B3 (perqu=C3=A8 he aconseguit tancar fines=
tres
> lentament) ja =C3=A9s tard per a esbrinar qu=C3=A8 =C3=A9s el qu=C3=A8 es=
t=C3=A0 fent lectures o
> escriptures a disc.
>
> Alg=C3=BA sap quina explicaci=C3=B3 t=C3=A9 aix=C3=B2?
> Qu=C3=A8 potser el nucli Linux utilitza arxius temporals en comptes de Sw=
ap?
>
> I com ho puc evitar?
>
> Gr=C3=A0cies.
>
> --
>
> Narcis Garcia
>
> __________
> I'm using this dedicated address because personal addresses aren't
> masked enough at this mail public archive. Public archive administrator
> should remove and omit any @, dot and mailto combinations against
> automated addresses collectors.
>
>

--00000000000058605f0649d21474
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div>Hola, Narc=C3=ADs,</div><div dir=3D"auto">He demanat=
 resposta a una amiga llestota (IA) ;-) :</div><div dir=3D"auto"><br></div>=
<div dir=3D"auto"><div dir=3D"auto"><br></div><div dir=3D"auto">El que veus=
 no =C3=A9s que Linux estigui fent =E2=80=9Cswap camuflada=E2=80=9D amb arx=
ius temporals, sin=C3=B3 que quan vas molt just de RAM el nucli entra en un=
 estat de *thrashing* i fa molt=C3=ADssima E/S a disc abans o en comptes d=
=E2=80=99activar l=E2=80=99OOM killer, fins i tot sense cap partici=C3=B3 d=
e swap configurada.[1][2][3]</div><div dir=3D"auto"><br></div><div dir=3D"a=
uto">## Qu=C3=A8 passa quan et quedes sense RAM</div><div dir=3D"auto"><br>=
</div><div dir=3D"auto">Quan la RAM s=E2=80=99omple, el nucli intenta recup=
erar mem=C3=B2ria abans de matar res:[1][2][3]</div><div dir=3D"auto">- Des=
carta p=C3=A0gines de cache de fitxers (lectures/escriptures addicionals).=
=C2=A0=C2=A0</div><div dir=3D"auto">- Recarrega codi i dades que acaba de d=
escartar quan un proc=C3=A9s les torna a necessitar.=C2=A0=C2=A0</div><div =
dir=3D"auto">- Si tens *tmpfs* (per exemple `/tmp` a mem=C3=B2ria), aquesta=
 mem=C3=B2ria compiteix amb la resta i pot acabar pressionant m=C3=A9s el s=
istema encara que no tinguis swap.[4][5]</div><div dir=3D"auto"><br></div><=
div dir=3D"auto">Aix=C3=B2 genera molta E/S a disc (relectura constant de f=
itxers, journaling, log, etc.) i la m=C3=A0quina =E2=80=9Cs=E2=80=99amorra=
=E2=80=9D, tot i que no hi ha cap swap activa.[2][3]</div><div dir=3D"auto"=
><br></div><div dir=3D"auto">El nucli *no* crea autom=C3=A0ticament fitxers=
 de swap ni converteix els temporals en swap, per=C3=B2 s=C3=AD que els tem=
porals en *tmpfs* =E2=80=9Cconsumeixen RAM=E2=80=9D i, si hi hagu=C3=A9s sw=
ap, es podrien buidar parcialment cap a swap.[4][6][5]</div><div dir=3D"aut=
o"><br></div><div dir=3D"auto">## Com evitar-ho (o almenys controlar-ho)</d=
iv><div dir=3D"auto"><br></div><div dir=3D"auto">Hi ha diverses estrat=C3=
=A8gies; en la pr=C3=A0ctica n=E2=80=99acabar=C3=A0s combinant algunes:</di=
v><div dir=3D"auto"><br></div><div dir=3D"auto">- **Activar una mica de swa=
p =E2=80=9Cd=E2=80=99emerg=C3=A8ncia=E2=80=9D** (fitxer, no cal partici=C3=
=B3) amb `swappiness` molt baix (per exemple 1=E2=80=9310) perqu=C3=A8 nom=
=C3=A9s s=E2=80=99utilitzi quan ja vas al l=C3=ADmit, i aix=C3=AD evites el=
 thrashing m=C3=A9s salvatge.[1][7][2]</div><div dir=3D"auto">- **Fer servi=
r zram/zswap**: swap comprimit en RAM, molt r=C3=A0pid, que et dona un coix=
=C3=AD addicional sense castigar tant el disc f=C3=ADsic.[8][2]</div><div d=
ir=3D"auto">- **Configurar l=C3=ADmits de mem=C3=B2ria per proc=C3=A9s** am=
b `systemd` (`MemoryMax=3D`) o `ulimit` per a sessions interactives, de man=
era que un proc=C3=A9s =E2=80=9Cboig=E2=80=9D mori abans de portar tot el s=
istema al l=C3=ADmit.[1][2]</div><div dir=3D"auto">- **Activar i con=C3=A8i=
xer les tecles Magic SysRq** (Alt+SysRq+f) per for=C3=A7ar l=E2=80=99OOM ki=
ller quan vegis que la m=C3=A0quina s=E2=80=99est=C3=A0 morint per=C3=B2 en=
cara tens una mica de control.[2][9]</div><div dir=3D"auto">- **Vigilar on =
poses /tmp o altres tmpfs**: si `/tmp` =C3=A9s *tmpfs* molt gran, un progra=
ma que hi aboqui molts fitxers pot pressionar molt la RAM; pots limitar-ne =
la mida o posar-lo en disc si no tens swap.[4][5]</div><div dir=3D"auto"><b=
r></div><div dir=3D"auto">## Per qu=C3=A8 no veus clar qui =C3=A9s el culpa=
ble</div><div dir=3D"auto"><br></div><div dir=3D"auto">Quan la m=C3=A0quina=
 entra en thrashing, eines com `top` o `iotop` pr=C3=A0cticament no respone=
n o ho fan amb molt retard, i quan es recupera ja s=E2=80=99han tancat proc=
essos i la situaci=C3=B3 ha canviat.=C2=A0=C2=A0</div><div dir=3D"auto">Si =
vols diagnosticar-ho millor, pots:=C2=A0=C2=A0</div><div dir=3D"auto">- Hab=
ilitar *logging* del `oom-killer` i revisar `dmesg` o `/var/log/kern.log` d=
espr=C3=A9s de l=E2=80=99episodi.[1][3]</div><div dir=3D"auto">- Deixar `io=
stat`, `pidstat` o `atop` en segon pla enregistrant dades peri=C3=B2dicamen=
t per tenir un =E2=80=9Chist=C3=B2ric=E2=80=9D a revisar quan la m=C3=A0qui=
na torni a ser usable.[7][9]</div><div dir=3D"auto"><br></div><div dir=3D"a=
uto">En resum: no =C3=A9s que Linux faci swap amb temporals de forma oculta=
, sin=C3=B3 que el seu comportament fora de mem=C3=B2ria =C3=A9s bastant ag=
ressiu en E/S i, sense un m=C3=ADnim de swap o l=C3=ADmits, acaba en thrash=
ing abans de matar processos; posar una mica de swap =E2=80=9Ccontrolada=E2=
=80=9D o zram i limitar processos acostuma a ser la manera m=C3=A9s efectiv=
a de prevenir aquests =E2=80=9Camorraments=E2=80=9D.[1][6][2]</div><div dir=
=3D"auto"><br></div><div dir=3D"auto">Citations:</div><div dir=3D"auto">[1]=
 system freezes rather than invoking OOM killer. <a href=3D"https://bbs.arc=
hlinux.org/viewtopic.php?id=3D233843">https://bbs.archlinux.org/viewtopic.p=
hp?id=3D233843</a></div><div dir=3D"auto">[2] Why is Linux so bad at handli=
ng OOM scenarios? <a href=3D"https://www.reddit.com/r/linuxquestions/commen=
ts/1fh3cjf/why_is_linux_so_bad_at_handling_oom_scenarios/">https://www.redd=
it.com/r/linuxquestions/comments/1fh3cjf/why_is_linux_so_bad_at_handling_oo=
m_scenarios/</a></div><div dir=3D"auto">[3] out of memory with no swap caus=
es disk activity <a href=3D"https://bbs.archlinux.org/viewtopic.php?id=3D48=
319">https://bbs.archlinux.org/viewtopic.php?id=3D48319</a></div><div dir=
=3D"auto">[4] use swap when /tmp its out of space <a href=3D"https://bbs.ar=
chlinux.org/viewtopic.php?id=3D151122">https://bbs.archlinux.org/viewtopic.=
php?id=3D151122</a></div><div dir=3D"auto">[5] Correct location for tempora=
ry files, to save write endurance ... <a href=3D"https://discussion.fedorap=
roject.org/t/correct-location-for-temporary-files-to-save-write-endurance-o=
n-nvme/105072">https://discussion.fedoraproject.org/t/correct-location-for-=
temporary-files-to-save-write-endurance-on-nvme/105072</a></div><div dir=3D=
"auto">[6] Temporary files: RAM or disk? <a href=3D"https://lwn.net/Article=
s/499645/">https://lwn.net/Articles/499645/</a></div><div dir=3D"auto">[7] =
System suddenly using all available swap, but plenty of free ... <a href=3D=
"https://discussion.fedoraproject.org/t/system-suddenly-using-all-available=
-swap-but-plenty-of-free-memory/79411">https://discussion.fedoraproject.org=
/t/system-suddenly-using-all-available-swap-but-plenty-of-free-memory/79411=
</a></div><div dir=3D"auto">[8] the system is unusable on high disk io usag=
e - openSUSE <a href=3D"https://www.reddit.com/r/openSUSE/comments/nl3q5p/t=
he_system_is_unusable_on_high_disk_io_usage/">https://www.reddit.com/r/open=
SUSE/comments/nl3q5p/the_system_is_unusable_on_high_disk_io_usage/</a></div=
><div dir=3D"auto">[9] Linux oom behavior always has had complaints[0]. Hop=
e it ... <a href=3D"https://news.ycombinator.com/item?id=3D26451319">https:=
//news.ycombinator.com/item?id=3D26451319</a></div><div dir=3D"auto">[10] H=
ow to fix high memory utilization caused by swap file in ... <a href=3D"htt=
ps://www.facebook.com/groups/linuxforbeginners/posts/853503369795772/">http=
s://www.facebook.com/groups/linuxforbeginners/posts/853503369795772/</a></d=
iv><div dir=3D"auto"><br></div></div><div><br></div><div data-smartmail=3D"=
gmail_signature">--<br>Salutacions...Josep<br>--</div></div><br><div class=
=3D"gmail_quote gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr=
">El ds., 31 de gen. 2026, 18:51, Narcis Garcia &lt;<a href=3D"mailto:debia=
[email protected]">[email protected]</a>&gt; va escriure:<br></div><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:=
1px solid rgb(204,204,204);padding-left:1ex">Hola debianites;<br>
<br>
Tinc un ordinador amb suficient mem=C3=B2ria RAM per a les tasques habitual=
s.<br>
No tinc configurada mem=C3=B2ria d&#39;intercanvi (swap) perqu=C3=A8 prefer=
eixo qu=C3=A8, <br>
si faig quelcom on l&#39;ordinador es queda sense prou mem=C3=B2ria, en com=
ptes <br>
d&#39;amorrar-se amb el disc dur trenqui el proc=C3=A9s o el sistema es que=
ixi.<br>
<br>
Doncs resulta qu=C3=A8 quan carrego alguna cosa extraordin=C3=A0ria i/o amb=
 moltes <br>
aplicacions i dades obertes, el sistema s&#39;amorra fent no-s=C3=A9-qu=C3=
=A8 amb el <br>
disc dur.<br>
Quan es recupera la situaci=C3=B3 (perqu=C3=A8 he aconseguit tancar finestr=
es <br>
lentament) ja =C3=A9s tard per a esbrinar qu=C3=A8 =C3=A9s el qu=C3=A8 est=
=C3=A0 fent lectures o <br>
escriptures a disc.<br>
<br>
Alg=C3=BA sap quina explicaci=C3=B3 t=C3=A9 aix=C3=B2?<br>
Qu=C3=A8 potser el nucli Linux utilitza arxius temporals en comptes de Swap=
?<br>
<br>
I com ho puc evitar?<br>
<br>
Gr=C3=A0cies.<br>
<br>
-- <br>
<br>
Narcis Garcia<br>
<br>
__________<br>
I&#39;m using this dedicated address because personal addresses aren&#39;t =
<br>
masked enough at this mail public archive. Public archive administrator <br=
>
should remove and omit any @, dot and mailto combinations against <br>
automated addresses collectors.<br>
<br>
</blockquote></div>

--00000000000058605f0649d21474--