La configurazione della VM (virtual memory) in Linux è complessa così
come sono complessi i meccanismi che la regolano (vedi parametri in
calce e loro significato).
La swap è una parte della VM e pertanto è legata mani e piedi alle sue
logiche.
Cercare di banalizzarne il funzionamento della VM è sbagliato e da
sempre questo tentativo in Linux è fonte di confusione ("perché non ho
ram libera!?" cit., "perché ho ram libera ma uso la swap?" cit.)
Possiamo dire che la swap serve ad ospitare dati che il sistema ritiene
più conveniente ritrovare "pronti all'uso" piuttosto che doverli
ricreare (e con ricreare si intende anche eseguire I/O) OPPURE nel caso
in cui la RAM sia satura per evitare un crash completo del sistema (per
quanto l'OOM killer tenti di salvare la situazione).Se vuoi fare un esperimento puoi disattivare la swap: $ sudo swapoff -a Se non hai abbastanza ram disponibile il sistema diventerà instabile e probabilmente si bloccherà. Se hai abbastanza ram disponibile potrebbe essere più veloce o più lento in base al tipo di operazioni che esegue e quindi in base a quanto le configurazioni pre-impostate sono valide per quella determinata situazione. In sostanza la configurazione predefinita per la VM cerca di servire nel migliore dei modi l'impiego medio dell'utente ma non potrà mai e poi mai essere adatta ad ogni impiego: lo stesso vale per le dimensioni della swap. Possiamo anche dire però che se la swap viene usata c'è sempre un motivo a monte: pensare di risolvere disattivando la swap è sbagliato tanto quanto è sbagliato banalizzare, è sempre necessario comprendere cosa avviene a monte. Per quanto riguarda il browser: in Firefox about:config cercando memory ho trovato alcune interessanti opzioni circa alcuni tentativi di risolvere problemi di memoria (es. browser.tabs.unloadOnLowMemory) ma di fatto non sembrano aver funzionato e non sembrano essere presenti dei limiti veri e propri. Considera che se fossero presenti dei limiti sarebbero comunque arbitrari e non necessariamente adeguati alle necessità di ogni sistema/utente (vedi quanto detto prima). Se vuoi operare delle limitazioni sull'applicativo (e i sui processI!!!) lo strumento da usare in Linux sono i CGROUP: attenzione perché anche in questo caso l'argomento è tutt'altro che banale! Ti lascio uno spunto: $ sudo cgcreate -g memory:firefox $ echo 1G | sudo tee /sys/fs/cgroup/memory/firefox/memory.limit_in_bytes $ echo $$ | sudo tee /sys/fs/cgroup/memory/firefox/tasks $ firefox-esr Attento alla versione di Debian che hai. L'implementazione è cambiata nel tempo, per i comandi che ti ho dato dovresti avere almeno il kernel della Stretch. Happy hacking! G. $ ls -1 /proc/sys/vm/ admin_reserve_kbytes block_dump compact_memory compact_unevictable_allowed dirty_background_bytes dirty_background_ratio dirty_bytes dirty_expire_centisecs dirty_ratio dirtytime_expire_seconds dirty_writeback_centisecs drop_caches extfrag_threshold hugetlb_shm_group laptop_mode legacy_va_layout lowmem_reserve_ratio max_map_count memory_failure_early_kill memory_failure_recovery min_free_kbytes min_slab_ratio min_unmapped_ratio mmap_min_addr mmap_rnd_bits mmap_rnd_compat_bits nr_hugepages nr_hugepages_mempolicy nr_overcommit_hugepages numa_stat numa_zonelist_order oom_dump_tasks oom_kill_allocating_task overcommit_kbytes overcommit_memory overcommit_ratio page-cluster panic_on_oom percpu_pagelist_fraction stat_interval stat_refresh swappiness user_reserve_kbytes vfs_cache_pressure watermark_scale_factor zone_reclaim_mode Il 27/06/20 18:14, Antonio ha scritto: > Il 27/06/20 16:52, Giuseppe Sacco ha scritto: >> Credo che la soluzione sia di non usare lo swap o limitarne la >> dimensione, per esempio a 1/2Gb. In questo modo se i processi usano >> veramente tanta memoria vengono bloccati poco dopo aver iniziato a >> usare lo spazio swap. >> > Ma le linee guida non sono di installare una swap doppio della RAM o e' > ormai superato? >

