1,375 21/03/2026 07/04/2026 3 min

Un VPS con traffico elevato può soffrire di problemi di prestazioni se la gestione della memoria non è ottimizzata. Il parametro di swappiness in Linux determina quanto il sistema deve utilizzare lo swap rispetto alla RAM. Un valore di swappiness troppo alto può portare a un uso eccessivo dello swap, causando rallentamenti. Regolare questo parametro è essenziale per garantire che il tuo server risponda rapidamente alle richieste degli utenti.

Prerequisiti

  • OS: Una distribuzione Linux (Ubuntu, Debian, CentOS, etc.)
  • Permessi: Accesso root o sudo
  • Dipendenze: Nessuna particolare dipendenza necessaria
  • Conoscenze utili: Familiarità con il terminale e i comandi Linux

Step 1: Controllare il valore attuale di swappiness

Iniziamo verificando il valore attuale di swappiness. Questo ci darà un'idea di come il sistema gestisce la memoria e lo swap.

bash
cat /proc/sys/vm/swappiness

# Output: Valore intero, di solito 60

Perché funziona: Il file /proc/sys/vm/swappiness contiene il valore di swappiness attuale, che varia da 0 a 100.

Step 2: Modificare il valore di swappiness

È consigliabile impostare un valore di swappiness più basso, ad esempio 10, per favorire l'uso della RAM rispetto allo swap.

bash
sudo sysctl vm.swappiness=10

# Output: Nessun messaggio se il comando ha successo

Perché funziona: Il comando sysctl modifica temporaneamente il valore di swappiness in memoria.

Note: Questa modifica è temporanea e verrà persa al riavvio.

Step 3: Rendere permanente la modifica

Per rendere permanente la modifica, dobbiamo aggiungere il parametro al file di configurazione sysctl.

bash
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

# Output: Nessun messaggio se il comando ha successo

Perché funziona: Aggiungiamo una nuova riga al file di configurazione che verrà letta al riavvio del sistema.

Step 4: Applicare le modifiche

Applichiamo le modifiche effettuate senza dover riavviare il server.

bash
sudo sysctl -p

# Output: Nessun messaggio se il comando ha successo

Perché funziona: Il comando sysctl -p ricarica il file di configurazione, applicando le modifiche immediate.

Verifica finale

Controlliamo nuovamente il valore di swappiness per assicurarci che sia stato modificato correttamente.

bash
cat /proc/sys/vm/swappiness

# Output: 10

Interpretazione: Se il valore è 10, significa che le modifiche sono state applicate correttamente.

Troubleshooting

Se incontri problemi, ecco alcuni errori comuni:

  • Errore: sysctl: setting key "vm.swappiness": Read-only file system
    Causa: Il filesystem è in sola lettura. Controlla se il filesystem è montato in modalità scrittura.
  • Errore: sysctl: cannot stat /etc/sysctl.conf: No such file or directory
    Causa: Il file sysctl.conf non esiste. Crea un nuovo file con il comando sudo touch /etc/sysctl.conf.
  • Errore: Permission denied
    Causa: Non hai i permessi necessari. Assicurati di usare sudo.

Conclusione

Hai appena ottimizzato la gestione della memoria del tuo VPS Linux regolando il parametro di swappiness. Ora il tuo server dovrebbe rispondere più rapidamente alle richieste. Il prossimo passo è monitorare le prestazioni del server per verificare se ci sono ulteriori miglioramenti da apportare.