Ubuntu Server 18.04L'espai d'intercanvi o Swap és molt recomanable. Si el vostre servidor s'executa fora de la memòria física durant una gran càrrega, alguns serveis crítics com MySQL poden bloquejar-se. És important tindre un espai d'intercanvi on la memòria es puga ampliar si realment ho necessita.

Per descomptat, no recomane que utilitze l'espai d'intercanvi com un reemplaçament de la memòria física, especialment en l'allotjaments al núvol. Si està utilitzant contínuament l'espai d'intercanvi, ha d'actualitzar la seua memòria física. El Swap realment hauria de ser utilitzat només puntualment, és a dir només en cas que l'ús de la memòria física arribe a un pic anormal.

Primer comproveu si el sistema té algun swap configurat:

joan@server-roig:~$ swapon --show
NAME      TYPE SIZE USED PRIO
/swapfile file   2G   0B   -2

Si la sortida és semblant a la de dalt, podeu ometre aquesta configuració, però si la sortida està en blanc, vol dir que no hi ha swap configurada, pel tant podeu continuar per crear-la.

 

Crea un fitxer d'intercanvi

Utilitzarem el programa fallocate per crear un fitxer d'intercanvi. La millor pràctica és crear un fitxer d'intercanvi amb el doble de la quantitat de RAM. Si teniu 1024MB de RAM, creeu un fitxer d'intercanvi de 2 GB:

sudo fallocate -l 2G /swapfile

Ara comproveu si el fitxer s'ha creat:

ls -lh /swapfile

Si s'ha creat correctament, hauríeu de veure alguna cosa com:

-rw-r--r-- 1 root root 2.0G Aug 3 18:59 /swapfile

 

Configureu el fitxer d'intercanvi

Feu que el fitxer d'intercanvi només siga accessible a l'arrel:

sudo chmod 600 /swapfile

Marqueu el fitxer com a fitxer d'intercanvi:

sudo mkswap /swapfile

Si teniu èxit, hauríeu de veure alguna cosa així:

Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=00aafaee-51c9-46b3-a0fc-8240c134048e

Finalment, li direm al sistema que comence a utilitzar el nostre nou fitxer d'intercanvi:

sudo swapon /swapfile

Per verificar que el swap ja estiga disponible, escriviu:

sudo swapon --show

Resultat:

NAME      TYPE  SIZE USED PRIO
/swapfile file  2G   0B   -2

També podem executar el següent per veure el nostre nou fitxer d'intercanvi juntament amb la memòria física:

free -h

Resultat:


                     total         used          free    shared   buff/cache   available
Mem:           985M        418M        104M         26M            462M        392M
Swap:          2.0G            0B         2.0G

 

Que siga persistent

Aquest canvi només durarà fins al proper reinici. Per fer-lo permanent, l'afegirem al /etc/fstab:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

 

Alguns ajustaments finals

Per a un servidor, hauríeu de canviar el valor de canvi a 10:

sudo sysctl vm.swappiness=10

Ara canvieu el valor vfs_cache_pressure a 50:

sudo sysctl vm.vfs_cache_pressure=50

Per mantenir aquestes dues configuracions després del proper reinici, editeu el fitxer següent:

sudo nano /etc/sysctl.conf

Afegiu açò a la part inferior:

vm.swappiness=10
vm.vfs_cache_pressure=50

Desa el fitxer i surt (Premeu CTRL + X, premeu Y, i a continuació, premeu ENTER).

Una manera útil de mantenir un ull al vostre ús del swap és executar htop. Vegeu: Better Linux system monitoring with htop - Millor seguiment del sistema amb htop.