Quale è la giusta dimensione della swap per un sistema operativo Linux?

C'è sempre stata molta confusione sul corretto dimensionamento dello spazio di swap. Ecco alcuni suggerimenti su come impostarlo senza errori e per il massimo delle performance.

0 2.150

Molti utilizzatori si chiedono frequentemente quale sia la miglior scelta per quanto riguarda la dimensione della swap durante l’installazione di Linux.

Alcune di queste domande potrebbero essere:

  • Quale dovrebbe essere corretta dimensione della swap di una distribuzione Linux?
  • La swap dovrebbe essere il doppio della dimensione della RAM o dovrebbe essere la metà?
  • Devo utilizzare lo spazio di swap anche se il sistema ha diversi GB di RAM?

Per molto tempo, la dimensione della swap consigliata era il doppio della dimensione della RAM, ma questa regola non è più applicabile ai computer moderni.

Attualmente esistono molti PC con RAM fino a 128 GB, ma molti vecchi computer non hanno neanche l’hard disk con questa capacità di memoria.

LEGGI ANCHE: Cosa si intende per RAM – Random Access Memory

Ma quale dimensione di swap bisogna assegnare, per esempio, ad un sistema con 32 GB di RAM?

Secondo la regola predefinita bisognerebbe assegnare 64 GB, ma ritengo che questo sarebbe un assurdo spreco di spazio disco.

Prima di vedere la quantità di swap che dovresti avere sul tuo sistema, iniziamo subito ad approfondire alcune cose sul suo funzionamento: questo ti aiuterà a capire perché e come viene usato lo spazio di swap.

Cos’è la swap e quando viene utilizzata?

Il sistema operativo utilizza la memoria RAM quando esegue un’applicazione, e una certa quantità di memoria è utilizzata dal sistema operativo stesso.

Quando ci sono poche applicazioni in esecuzione, il sistema operativo gestisce le applicazioni con la RAM disponibile, senza necessità di fare nessuna operazione particolare.

Ma se ci sono molte applicazioni in esecuzione o se le applicazioni hanno bisogno di molta RAM, allora il sistema operativo va in sofferenza.

Se un’applicazione richiede memoria ma l’intera RAM è già in uso, in assenza di swap l’applicazione si arresta in modo anomalo.

La swap agisce quindi come una memoria virtuale aggiuntiva per il tuo sistema, che entra in gioco quando la RAM è esaurita.

Quello che succede è che quando la memoria RAM è esaurita, il sistema operativo Linux usa una parte di spazio del disco rigido e lo assegna all’applicazione (o alle applicazioni) in esecuzione.

In maniera più precisa, possiamo indicare la definizione di swap con queste parole: lo spazio di swap è una partizione Linux, di dimensione variabile sulla base della configurazione prescelta, che viene utilizzata dal sistema operativo quando la memoria fisica RAM non è più sufficiente a garantire un buon funzionamento del sistema.

Ciò significa che se si allocano 50 GB di dimensione della swap, il sistema può eseguire centinaia o migliaia di applicazioni contemporaneamente? No, purtroppo non è così.

Dobbiamo anche prevedere la variabile legata alla velocità di accesso dei dati.

Prendiamo come riferimento alcuni dati tipici sulla velocità di accesso a vari dispositivi di memoria:

  • Le operazioni di accesso alla memoria RAM sono nell’ordine dei nanosecondi
  • Un SSD accede ai dati in microsecondi
  • Un normale disco fisso accede ai dati con un tempo dell’ordine di grandezza dei millisecondi

Ciò significa che, a grandi linee, la RAM è 1000 volte più veloce dell’SSD ed è 100.000 volte più veloce di un classico HDD.

Se un’applicazione si basa troppo sullo spazio di swap, le sue prestazioni si ridurranno poiché non può accedere ai dati alla stessa velocità che avrebbe quando è eseguita nella RAM.

Quindi, invece di impiegare un secondo di tempo per svolgere una certa attività, potrebbero essere necessari alcuni minuti per completare lo stesso compito, e questo renderà l’applicazione inutile o nella migliore dei casi, stressante.

Questo fenomeno è noto col nome di trashing.

In altre parole, un utilizzo limitato della swap è utile, ma è opportuno non esagerare.

Perché è necessario lo spazio di swap?

Esistono diversi motivi per cui è necessario avere un’area di swap.

Se il sistema ha una RAM inferiore a 1 GB, è necessario utilizzare la swap poiché la maggior parte delle applicazioni esaurirà presto la RAM disponibile.

Se utilizzi applicazioni pesanti come gli editor di video, potrebbe essere una buona idea configurare adeguatamente lo spazio di swap in quanto la tua RAM potrebbe esaurirsi velocemente.

Se si utilizza la sospensione del sistema (ibernazione), è necessario aggiungere memoria virtuale perché il contenuto della RAM verrà scritto nella partizione di swap.

Ciò significa che la dimensione della swap deve essere pari ad almeno la dimensione della RAM.

C’è bisogno di usare la swap se si ha molta RAM a disposizione?

Se sul tuo personal computer hai installato 32 GB o 64 GB di RAM, è probabile che il tuo sistema non utilizzi mai l’intera RAM e di conseguenza non userebbe mai lo spazio di swap.

Se hai meno di 32 GB di RAM, assegnare alcuni GB di swap non farà male.

Fornirà anzi un ulteriore livello di stabilità al sistema se un programma inizia a utilizzare in modo improprio la RAM.

Si può usare Linux senza swap?

Sì, è possibile usare Linux senza swap, soprattutto se il tuo sistema ha molta RAM.

Ma come spiegato nel paragrafo precedente, è sempre consigliabile configurare un po’ di swap per un miglior funzionamento del sistema e per evitare crash delle applicazioni.

Quanto dovrebbe essere la dimensione dello spazio di swap?

Ecco la domanda tipica che ognuno di noi si è fatto almeno una volta: quale dovrebbe essere lo spazio di swap ideale per una installazione Linux?

Purtroppo non esiste una risposta definitiva a questa domanda, ci possono essere solo alcune raccomandazioni.

A secondo delle persone esistono infatti opinioni diverse sulla dimensione ideale della swap.

Anche le principali distribuzioni Linux non hanno la stessa linea guida per indicare le dimensioni dello spazio di swap.

Suggerimento di Red Hat

Se segui il suggerimento di Red Hat, ti consigliamo una dimensione della swap pari al 20% della RAM per i sistemi più recenti (cioè con RAM di 4 GB o più).

Suggerimento di CentOS

CentOS ha una raccomandazione diversa: suggerisce che la dimensione della swap sia pari a due volte la dimensione della RAM, se la RAM è inferiore a 2 GB.

Se invece la RAM installata sul tuo PC è maggiore di 2 GB allora dovrai considerare una swap pari alla dimensione della RAM + 2 GB.

Ad esempio se hai 4 GB di RAM, dovrai configurare uno spazio di swap pari a 6 GB.

Suggerimento di Ubuntu

Ubuntu ha una prospettiva completamente diversa sulla dimensione della swap in quanto prende in considerazione un ulteriore fattore: l’utilizzo o meno della funzione di ibernazione del sistema.

Ecco le raccomandazioni di Ubuntu:

  • Se la RAM è inferiore a 1 GB, la dimensione della swap deve essere come minimo la dimensione della RAM e come massimo il doppio della dimensione della RAM
  • Se la RAM è superiore a 1 GB, la dimensione dello spazio di swap deve essere almeno uguale alla radice quadrata della dimensione della RAM e come massimo dovrà raddoppiare la dimensione della RAM
  • Se si utilizza la sospensione/ibernazione, la dimensione della swap deve essere uguale alla dimensione della RAM più la radice quadrata della dimensione della RAM.

Lascia una risposta

L'indirizzo email non verrà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.