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. > >

