Hola, Narcís,
He demanat resposta a una amiga llestota (IA) ;-) :

El que veus no és que Linux estigui fent “swap camuflada” amb arxius
temporals, sinó que quan vas molt just de RAM el nucli entra en un estat de
*thrashing* i fa moltíssima E/S a disc abans o en comptes d’activar l’OOM
killer, fins i tot sense cap partició de swap configurada.[1][2][3]

## Què passa quan et quedes sense RAM

Quan la RAM s’omple, el nucli intenta recuperar memòria abans de matar
res:[1][2][3]
- Descarta pàgines de cache de fitxers (lectures/escriptures addicionals).
- Recarrega codi i dades que acaba de descartar quan un procés les torna a
necessitar.
- Si tens *tmpfs* (per exemple `/tmp` a memòria), aquesta memòria compiteix
amb la resta i pot acabar pressionant més el sistema encara que no tinguis
swap.[4][5]

Això genera molta E/S a disc (relectura constant de fitxers, journaling,
log, etc.) i la màquina “s’amorra”, tot i que no hi ha cap swap
activa.[2][3]

El nucli *no* crea automàticament fitxers de swap ni converteix els
temporals en swap, però sí que els temporals en *tmpfs* “consumeixen RAM”
i, si hi hagués swap, es podrien buidar parcialment cap a swap.[4][6][5]

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

Hi ha diverses estratègies; en la pràctica n’acabaràs combinant algunes:

- **Activar una mica de swap “d’emergència”** (fitxer, no cal partició) amb
`swappiness` molt baix (per exemple 1–10) perquè només s’utilitzi quan ja
vas al límit, i així evites el thrashing més salvatge.[1][7][2]
- **Fer servir zram/zswap**: swap comprimit en RAM, molt ràpid, que et dona
un coixí addicional sense castigar tant el disc físic.[8][2]
- **Configurar límits de memòria per procés** amb `systemd` (`MemoryMax=`)
o `ulimit` per a sessions interactives, de manera que un procés “boig” mori
abans de portar tot el sistema al límit.[1][2]
- **Activar i conèixer les tecles Magic SysRq** (Alt+SysRq+f) per forçar
l’OOM killer quan vegis que la màquina s’està morint però encara tens una
mica de control.[2][9]
- **Vigilar on poses /tmp o altres tmpfs**: si `/tmp` és *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è no veus clar qui és el culpable

Quan la màquina entra en thrashing, eines com `top` o `iotop` pràcticament
no responen o ho fan amb molt retard, i quan es recupera ja s’han tancat
processos i la situació ha canviat.
Si vols diagnosticar-ho millor, pots:
- Habilitar *logging* del `oom-killer` i revisar `dmesg` o
`/var/log/kern.log` després de l’episodi.[1][3]
- Deixar `iostat`, `pidstat` o `atop` en segon pla enregistrant dades
periòdicament per tenir un “històric” a revisar quan la màquina torni a ser
usable.[7][9]

En resum: no és que Linux faci swap amb temporals de forma oculta, sinó que
el seu comportament fora de memòria és bastant agressiu en E/S i, sense un
mínim de swap o límits, acaba en thrashing abans de matar processos; posar
una mica de swap “controlada” o zram i limitar processos acostuma a ser la
manera més efectiva de prevenir aquests “amorraments”.[1][6][2]

Citations:
[1] system freezes rather than invoking OOM killer.
https://bbs.archlinux.org/viewtopic.php?id=233843
[2] Why is Linux so bad at handling OOM scenarios?
https://www.reddit.com/r/linuxquestions/comments/1fh3cjf/why_is_linux_so_bad_at_handling_oom_scenarios/
[3] out of memory with no swap causes disk activity
https://bbs.archlinux.org/viewtopic.php?id=48319
[4] use swap when /tmp its out of space
https://bbs.archlinux.org/viewtopic.php?id=151122
[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=26451319
[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òria RAM per a les tasques habituals.
> No tinc configurada memòria d'intercanvi (swap) perquè prefereixo què,
> si faig quelcom on l'ordinador es queda sense prou memòria, en comptes
> d'amorrar-se amb el disc dur trenqui el procés o el sistema es queixi.
>
> Doncs resulta què quan carrego alguna cosa extraordinària i/o amb moltes
> aplicacions i dades obertes, el sistema s'amorra fent no-sé-què amb el
> disc dur.
> Quan es recupera la situació (perquè he aconseguit tancar finestres
> lentament) ja és tard per a esbrinar què és el què està fent lectures o
> escriptures a disc.
>
> Algú sap quina explicació té això?
> Què potser el nucli Linux utilitza arxius temporals en comptes de Swap?
>
> I com ho puc evitar?
>
> Gràcies.
>
> --
>
> 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.
>
>

Respondre per correu electrònic a