Ricerca nel sito web

Come aumentare la memoria di swap in Ubuntu Linux


Uno dei modi più semplici per prevenire problemi di memoria insufficiente nelle applicazioni è aumentare la dimensione di swap nel server. In questo articolo spiegheremo come aggiungere un file di scambio a un server Ubuntu.

Passaggio 1: verifica delle informazioni di scambio

Prima di iniziare, assicurati di controllare se il sistema ha già spazio di swap disponibile eseguendo il seguente comando swapon.

sudo swapon --show

Se non vedi alcun output, significa che il tuo sistema non dispone attualmente di spazio di swap.

Puoi anche verificare che non sia disponibile spazio di swap utilizzando il comando free.

free -h

Puoi vedere dall'output sopra che non c'è scambio attivo sul sistema.

Passaggio 2: verifica dello spazio disponibile sulla partizione

Per creare uno spazio di scambio, innanzitutto devi controllare l'utilizzo corrente del disco e confermare che ci sia spazio sufficiente per creare un file di scambio sul sistema.

df -h

La partizione con / ha abbastanza spazio disponibile per creare un file di scambio.

Passaggio 3: creazione di un file di scambio in Ubuntu

Ora creeremo un file di scambio chiamato "swap.img" sulla nostra directory root (/) di Ubuntu utilizzando il comando fallocate con la dimensione di 1 GB (puoi regolare la dimensione in base alle tue esigenze) e verifica la dimensione dello scambio utilizzando il comando ls come mostrato.

sudo fallocate -l 1G /swap.img
ls -lh /swap.img

Dall'output sopra, puoi vedere che abbiamo creato il file di scambio con la quantità di spazio corretta, ovvero 1 GB.

Passaggio 4: abilitare il file di scambio in Ubuntu

Per abilitare il file di scambio in Ubuntu, devi innanzitutto impostare le autorizzazioni corrette sul file in modo che solo l'utente root abbia accesso al file.

sudo chmod 600 /swap.img
ls -lh /swap.img

Dall'output precedente, puoi vedere che solo l'utente root ha i permessi di lettura e scrittura.

Ora esegui i seguenti comandi per contrassegnare il file come spazio di scambio e consentire al file di scambio di iniziare a utilizzarlo sul sistema.

sudo mkswap /swap.img
sudo swapon /swap.img

Verifica che lo spazio di swap sia disponibile eseguendo i seguenti comandi.

sudo swapon --show
free -h

Dall'output sopra, è chiaro che il nostro nuovo file di scambio è stato creato con successo e il nostro sistema Ubuntu inizierà a utilizzarlo secondo necessità.

Passaggio 5: montare il file di scambio permanente in Ubuntu

Per rendere permanente lo spazio di swap, è necessario aggiungere le informazioni sul file di swap nel file /etc/fstab e verificarle eseguendo i seguenti comandi.

echo '/swap.img none swap sw 0 0' | sudo tee -a /etc/fstab
cat /etc/fstab

Passaggio 6: ottimizzazione delle impostazioni di scambio in Ubuntu

Ci sono alcune impostazioni che devi configurare che avranno un effetto sulle prestazioni di Ubuntu quando usi lo scambio.

Regolazione del valore di swappiness

Swappiness è un parametro del kernel Linux che specifica quanto (e quanto spesso) il tuo sistema scambia i dati dalla RAM allo spazio di swap. Il valore predefinito per questo parametro è "60" e può utilizzare qualsiasi valore compreso tra "0" e "100". Maggiore è il valore, maggiore sarà l'utilizzo dello spazio di swap da parte del kernel.

Innanzitutto, controlla il valore di swappiness corrente digitando il seguente comando.

cat /proc/sys/vm/swappiness

L'attuale valore di swappiness di 60 è perfetto per l'utilizzo del desktop, ma per un server è necessario impostarlo su un valore inferiore, ovvero 10.

sudo sysctl vm.swappiness=10

Per rendere permanente questa impostazione, è necessario aggiungere la seguente riga al file /etc/sysctl.conf.

vm.swappiness=10

Regolazione dell'impostazione della pressione della cache

Un'altra impostazione simile che potresti voler modificare è vfs_cache_pression: questa impostazione specifica per quanto tempo il sistema vorrà memorizzare nella cache i dettagli inode e dentry altri dati.

Puoi controllare il valore corrente interrogando il filesystem proc.

cat /proc/sys/vm/vfs_cache_pressure

Il valore corrente è impostato su 100, il che significa che il nostro sistema rimuove le informazioni sugli inode dalla cache troppo rapidamente. Suggerisco di impostarlo su un valore più stabile come 50.

sudo sysctl vm.vfs_cache_pressure=50

Per rendere permanente questa impostazione, è necessario aggiungere la seguente riga al file /etc/sysctl.conf.

vm.vfs_cache_pressure=50

Salva e chiudi il file quando hai finito.

Passaggio 7: rimozione di un file di scambio in Ubuntu

Per rimuovere o eliminare il file di scambio appena creato, esegui i seguenti comandi.

sudo swapoff -v /swap.img
sudo rm -rf /swap.img

Infine, elimina la voce del file di scambio dal file /etc/fstab.

È tutto! In questo articolo, abbiamo spiegato come creare un file di scambio sulla tua distribuzione Ubuntu. Se hai domande su questo articolo, non esitare a porre le tue domande nella sezione commenti qui sotto.