L'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.