Manuel Roccon

ICT & Cyber Security Specialist

Aggiungere lo swap a CentOS 7

Swap è uno spazio su un disco che viene utilizzato quando la quantità di memoria RAM fisica è piena (come il file di paging presente nei sistemi Windows).

Quando un sistema Linux esaurisce la RAM, le pagine inattive vengono spostate dalla RAM nella memoria SWAP. Lo spazio di SWAP può assumere la forma di una partizione di swap dedicata o di un file di swap. Nella maggior parte dei casi quando si esegue CentOS su una macchina virtuale non è presente una partizione di swap, quindi l’unica opzione è quella di creare un file di SWAP.

Prima di procedere è necessario verificare se l’installazione CentOS è già abilitata digitando:

sudo swapon --show

Se l’output è vuoto, significa che nel sistema non è abilitato lo swap. Altrimenti se viene visualizzato output sottostante, è già stato abilitato.

sudo swapon --show
NAME      TYPE  SIZE  USED PRIO
/swapfile file 1024M 20,8M   -2 

Anche se sarebbe possibile, non è consigliabile avere più spazi di swap su una singola macchina.

L’utente deve disporre dei privilegi di root per poter attivare lo swap. In questa guida, aggiungeremo uno swap di 1GB, se desideri aggiungere uno swap con una dimensione differente è necessario intervenire su questo parametro.

Seguire i passaggi seguenti per aggiungere spazio di swap:

Innanzitutto, crea un file che verrà utilizzato come spazio di swap

sudo fallocate -l 1G /swapfile

Se l’fallocatenon è disponibile o viene visualizzato un messaggio di errore “fallocate failed: Operation not supported“, utilizzare il comando seguente per creare il file di swap:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

Assicurarsi che solo l’utente root possa leggere e scrivere il file di swap:

sudo chmod 600 /swapfile

Successivamente, impostare un’area per il file di swap:

sudo mkswap /swapfile

Eseguire il comando seguente per attivare lo swap:

sudo swapon /swapfile

Rendiamo permanente la modifica aprendo il file /etc/fstab:

sudo nano /etc/fstab

e incollando la seguente riga alla fine:

/swapfile swap swap defaults 0 0

Per verificare che lo swap sia attivo, utilizzare il comando swappon per verificare l’esistenza dello swap e il comando free per verificare i dettagli della memoria disponibile e utilizzata

sudo swapon --show
NAME      TYPE  SIZE  USED PRIO
/swapfile file 1024M 20,5M   -2 
sudo free -h
               total        used        free      shared  buff/cache   available
 Mem:           1,8G        687M        865M         67M        284M        910M
 Swap:          1,0G         20M        1,0G 

Regolazione del valore di swapiness

Lo swappiness è una proprietà del kernel di Linux che definisce la frequenza con cui il sistema utilizzerà lo spazio di swap.

Può avere un valore compreso tra 0 e 100. Un valore basso farà sì che il kernel provi a evitare lo swapping il più possibile, mentre un valore più elevato farà sì che il kernel utilizzi lo spazio di swap in modo più aggressivo.

Il valore di swapiness predefinito su CentOS 7 è 60. È possibile verificare il valore di swapiness corrente digitando il comando seguente:

cat /proc/sys/vm/swappiness
60 

Svuotamento swap

Nel caso avete bisogno di svuotare la cache Swap, è possibile farlo con il comando sottostante.

Bisogna verificare che la nostra RAM sia sufficiente in quanto la memoria presente nello spazio swap sarà trasferita nella ram.

swapoff -a

Una volta completato lo svuotamento, utilizzare questo comando per riabilitare la cache.

swapon -a

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *