Com buidar la memòria Swap d'un servidor Linux
De vegades podem rebre alertes d'ús de recursos on ens indiquen que la memòria Swap o Memòria d'Intercanvi del servidor està al 100% d'ús.
SERVICE ALERT: ce00000000000.dnssw.net
Unix Memory Nou
WARNING
Usage: real 95% (11404/11995 MB), buffer: 3 MB, cache: 302 MB, swap: 100% (1907/1907 MB)
Comunament això pot passar per dos escenaris:
- El servidor s'ha quedat sense memòria RAM i està o ha estat escrivint a Swap.
- El programari instal·lat al servidor, per pròpia configuració, està o ha estat escrivint a Swap.
danger ⚠️ Les accions realitzades a continuació poden ser perilloses si no disposes dels coneixements necessaris ⚠️
Com detectar l'alerta
Si disposes de Monitorització Avançada hauràs rebut un correu notificant-te de l'alerta Unix Memory Nou.
SERVICE ALERT: ce00000000000.dnssw.net
Unix Memory Nou
WARNING
Usage: real 95% (11404/11995 MB), buffer: 3 MB, cache: 302 MB, swap: 100% (1907/1907 MB)
Com activar la Monitorització Avançada al meu Cloud
Com tractar l'alerta
Per tractar l'alerta t'hauràs de connectar per consola al teu servidor. Pots connectar-te a través de la Consola d'SWPanel o mitjançant SSH.
Per buidar la memòria Swap, haurem de bolcar les dades emmagatzemades a la memòria RAM.
Primer de tot, haurem de comprovar l'estat de la memòria del servidor, utilitzant la següent ordre:
free -m
Amb aquest podrem veure els bytes de memòria que tens assignats, disponibles i utilitzats.
En aquest cas, el servidor té ocupats 453B i lliures 1453B:
Ens hem d'assegurar que la quantitat de Swap utilitzada és menor a la quantitat de RAM disponible.
En aquest cas, aquesta regla es compleix, tenim 453B de Swap en ús i 3379B de RAM disponibles:
danger ⚠️ No fer el pas següent si la regla anterior no es compleix ⚠️
Si es compleix la regla anterior, procedirem a bolcar la Swap a la RAM i, així, la buidarem. Farem servir la següent ordre:
swapoff -a && swapon -a
En executar l'ordre, la consola es quedarà 'inactiva' fins que el procés finalitzi:
El procés de buidatge de la Swap pot trigar uns quants minuts depenent de l'estat del servidor i els seus recursos.
Pots veure el procés de buidatge en temps real, obrint una altra consola i utilitzant l'ordre:
watch -n0 free -m