Come configurare lo swap su Ubuntu su una VPS
Quando si utilizza una VPS con risorse limitate, gestire la memoria è fondamentale. Se la RAM disponibile si esaurisce, il sistema può rallentare o addirittura terminare processi in modo forzato. Per evitare questo problema, è possibile configurare lo swap, una porzione di spazio su disco utilizzata come memoria aggiuntiva.
Configurare correttamente lo swap permette di migliorare la stabilità del sistema e gestire meglio i picchi di utilizzo, rendendo la VPS più affidabile anche sotto carico.
Verificare se lo swap è già attivo
Prima di creare uno swap, è utile controllare se il sistema ne utilizza già uno. Per farlo, si può utilizzare il comando:
free -h
Se nella sezione “Swap” tutti i valori sono a zero, significa che non è configurato nessuno spazio di swap.
In alternativa si può utilizzare:
swapon --show
Se non viene mostrato alcun output, lo swap non è attivo.
Creare un file di swap
Il modo più semplice per configurare lo swap su una VPS è creare un file dedicato. Ad esempio, per creare uno swap da 2GB, si può utilizzare:
fallocate -l 2G /swapfile
Se il comando fallocate non fosse disponibile, è possibile usare:
dd if=/dev/zero of=/swapfile bs=1M count=2048
Una volta creato il file, è necessario impostare i permessi corretti per motivi di sicurezza:
chmod 600 /swapfile
Attivare lo swap
Dopo aver creato il file, bisogna inizializzarlo come spazio di swap:
fallocate -l 2G /swapfile
Successivamente, si può attivare con:
dd if=/dev/zero of=/swapfile bs=1M count=2048
A questo punto, lo swap è già attivo. È possibile verificarlo nuovamente con:
chmod 600 /swapfile
Rendere lo swap permanente
Per fare in modo che lo swap venga attivato automaticamente ad ogni riavvio della VPS, è necessario aggiungerlo al file /etc/fstab.
Per farlo, si apre il file:
nano /etc/fstab
e si aggiunge la seguente riga alla fine:
/swapfile none swap sw 0 0
Dopo aver salvato, lo swap verrà caricato automaticamente ad ogni avvio del sistema.
Ottimizzare l’utilizzo dello swap
Linux utilizza un parametro chiamato swappiness, che determina quanto aggressivamente il sistema utilizza lo swap rispetto alla RAM.
Per visualizzare il valore attuale:
cat /proc/sys/vm/swappiness
Il valore predefinito è solitamente 60. Su una VPS, è spesso consigliabile abbassarlo, ad esempio a 10, per privilegiare l’uso della RAM:
sysctl vm.swappiness=10
Per rendere permanente questa impostazione, è possibile modificarla nel file:
nano /etc/sysctl.conf
aggiungendo:
vm.swappiness=10