Come Creare un File di Swap in Linux

linux-swap-file-featured

Il swap all’interno di Linux sono aree specifiche sul disco che sono riservate come memoria virtuale. Vengono utilizzate principalmente per migliorare le prestazioni del sistema quando si affrontano attività intensive in termini di risorse, come il montaggio video. Quando il sistema inizia ad avere difficoltà, il kernel sposterà i processi inattivi nello swap per fare spazio ai processi attivi nella memoria di lavoro.

Di norma, all’interno dell’installazione di Linux, verrà creata per te di default una partizione di swap e verrà allocato spazio sul disco rigido per questo scopo. Questo ha una serie di svantaggi, come lo spazio se hai un disco più piccolo su un computer più vecchio, o se stai utilizzando un SSD su un dispositivo più recente.

Il problema con le unità SSD è che hanno una capacità di scrittura limitata all’interno delle celle. Anche con il livellamento dell’usura, la memoria flash ha una vita utile finita, e più scritture possono rendere le singole celle inutilizzabili.

Leggi anche: Come Gestire l’Uso dello Swap in Linux

Qual è l’alternativa?

Se l’uso di una partizione di swap dedicata non è pratico, o semplicemente vuoi provare un’alternativa e non spendere soldi per RAM extra, allora puoi utilizzare invece un file di swap.

Un file di swap funge in modo simile a una partizione, anche se ha il vantaggio aggiuntivo che gli utenti possono controllare la dimensione senza il problema di ridimensionare un volume. Inoltre, come verrà utilizzato il swap, o il fattore di “swappiness”, può essere controllato modificando il valore dello swap.

Creazione dello Swap

Eseguirò un esempio di base per creare un file di swap di 1GB.

Prima crea il file inserendo il seguente comando nel Terminale:

sudo fallocate -l 1G /mnt/1GB.swap

Se non hai installato fallocate, allora esegui il comando più tradizionale:

sudo dd if=/dev/zero of=/mnt/1GB.swap bs=1024 count=1048576

Ora formatta il file di swap:

sudo mkswap /mnt/1GB.swap

Aggiungi lo swap al sistema come file di swap:

sudo swapon /mnt/1GB.swap

Apri il “/etc/fstab” all’interno del tuo editor di testo preferito e aggiungi questo alla fine per rendere il cambiamento permanente:

/mnt/1GB.swap none swap sw 00

La riga sopra si suddivide come segue:

  • “/mnt/1GB.swap” – questo è il dispositivo e il nome del file
  • “swap” – questo definisce il punto di montaggio
  • “swap sw” – questo mostra che il file di swap sarà attivato da swapon – s (vedi sotto)
  • “0 0” – queste sono le opzioni utilizzate dal programma dump e dal comando fsck rispettivamente

A questo punto, se desideri modificare il valore di “swappiness”, puoi farlo modificando “/etc/sysctl.conf” nello stesso modo in cui hai modificato l’fstab sopra. Il valore di swappiness è tipicamente 60; più alto è il numero (fino a 100) più aggressivo sarà lo swap.

vm.swappiness=10

La quantità di swap necessaria dipende da come si comporta il sistema e da come viene utilizzata la memoria. Gli utenti dovrebbero sperimentare per trovare ciò che è meglio per loro. Se il valore sopra è impostato su zero, il file di swap verrà utilizzato solo quando il sistema ha esaurito la memoria. Valori superiori a zero permetteranno al sistema di spostare i processi inattivi e liberare memoria per la cache del disco; questo può migliorare potenzialmente le prestazioni generali del sistema.

Leggi anche: Cosa Devi Sapere sulle Partizioni di Swap in Linux

Infine, verifica se lo swap è attivo:

sudo swapon -s

Basta riavviare e avrai un file di swap funzionante invece di una partizione di swap. Quale opzione è migliore per te? Utilizzi una partizione o un file dedicato? Faccelo sapere nei commenti e dicci anche eventuali metodi alternativi che potresti avere per generare un file.