Com afegir espai d'intercanvi a Ubuntu


Una de les maneres més senzilles de vigilar els problemes de falta de memòria a les aplicacions és augmentar la mida d'intercanvi al vostre servidor. En aquest article, explicarem com afegir un fitxer d'intercanvi a un servidor Ubuntu.

Pas 1: comprovació de la informació d'intercanvi

Abans de començar, primer assegureu-vos de comprovar si el sistema ja té espai d'intercanvi disponible executant l'ordre següent.

$ sudo swapon --show

Si no veieu cap sortida, vol dir que el vostre sistema no té espai d'intercanvi disponible actualment.

També podeu confirmar que no hi ha espai d'intercanvi disponible mitjançant l'ordre gratuït.

$ free -h

Podeu veure a la sortida anterior que no hi ha cap intercanvi actiu al sistema.

Pas 2: Comprovació de l'espai disponible a la partició

Per crear un espai d'intercanvi, primer, heu de comprovar l'ús actual del vostre disc i confirmar que hi ha prou espai per crear un fitxer d'intercanvi al sistema.

$ df -h

La partició amb / té prou espai disponible per crear un fitxer d'intercanvi.

Pas 3: Creació d'un fitxer d'intercanvi a Ubuntu

Ara crearem un fitxer d'intercanvi anomenat \swap.img\ al nostre directori arrel (/) d'Ubuntu utilitzant l'ordre fallocate amb una mida d'1 GB (podeu ajustar la mida segons les vostres necessitats) i verifiqueu la mida de l'intercanvi mitjançant l'ordre ls tal com es mostra.

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

A partir de la sortida anterior, podeu veure que hem creat el fitxer d'intercanvi amb la quantitat d'espai correcta, és a dir, 1 GB.

Pas 4: habilitar el fitxer d'intercanvi a Ubuntu

Per habilitar el fitxer d'intercanvi a Ubuntu, primer, heu d'establir els permisos correctes al fitxer de manera que només l'usuari arrel tingui accés al fitxer.

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

A partir de la sortida anterior, podeu veure que només l'usuari arrel té els permisos de lectura i escriptura.

Ara executeu les ordres següents per marcar el fitxer com a espai d'intercanvi i habiliteu el fitxer d'intercanvi per començar a utilitzar-lo al sistema.

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

Comproveu que l'espai d'intercanvi estigui disponible executant les ordres següents.

$ sudo swapon --show
$ free -h

A partir de la sortida anterior, és evident que el nostre nou fitxer d'intercanvi s'ha creat correctament i el nostre sistema Ubuntu començarà a utilitzar-lo segons sigui necessari.

Pas 5: munteu el fitxer d'intercanvi permanent a Ubuntu

Per fer que l'espai d'intercanvi sigui permanent, heu d'afegir la informació del fitxer d'intercanvi al fitxer /etc/fstab i verificar-ho executant les ordres següents.

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

Pas 6: Ajustar la configuració d'intercanvi a Ubuntu

Hi ha alguns paràmetres que heu de configurar que tindran un efecte en el rendiment del vostre Ubuntu quan feu servir l'intercanvi.

Swappiness és un paràmetre del nucli de Linux que especifica quant (i amb quina freqüència) el vostre sistema intercanvia dades de la memòria RAM a l'espai d'intercanvi. El valor per defecte d'aquest paràmetre és 60 i pot utilitzar qualsevol cosa des de 0 fins a 100. Com més gran sigui el valor, més gran serà l'ús de l'espai d'intercanvi per part del nucli.

Primer, comproveu el valor d'intercanvi actual escrivint l'ordre següent.

$ cat /proc/sys/vm/swappiness

El valor d'intercanvi actual de 60 és perfecte per a l'ús d'escriptori, però per a un servidor, l'heu de configurar en un valor més baix, és a dir, 10.

$ sudo sysctl vm.swappiness=10

Per fer que aquesta configuració sigui permanent, heu d'afegir la línia següent al fitxer /etc/sysctl.conf.

vm.swappiness=10

Un altre paràmetre similar que potser voldreu modificar és el vfs_cache_pressure: aquest paràmetre especifica quant voldrà el sistema emmagatzemar a la memòria cau els detalls d'inode i dentry sobre altres dades.

Podeu comprovar el valor actual consultant el sistema de fitxers proc.

$ cat /proc/sys/vm/vfs_cache_pressure

El valor actual està establert en 100, això significa que el nostre sistema elimina la informació de l'inode de la memòria cau massa ràpidament. Suggereixo que hauríem de configurar-ho en una configuració més estable com 50.

$ sudo sysctl vm.vfs_cache_pressure=50

Per fer que aquesta configuració sigui permanent, heu d'afegir la línia següent al fitxer /etc/sysctl.conf.

vm.vfs_cache_pressure=50

Deseu i tanqueu el fitxer quan hàgiu acabat.

Pas 7: eliminació d'un fitxer d'intercanvi a Ubuntu

Per eliminar o suprimir el fitxer d'intercanvi acabat de crear, executeu les ordres següents.

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

Finalment, suprimiu l'entrada del fitxer d'intercanvi del fitxer /etc/fstab.

Això és tot! En aquest article, hem explicat com crear un fitxer d'intercanvi a la vostra distribució Ubuntu. Si teniu cap pregunta sobre aquest article, no dubteu a fer les vostres preguntes a la secció de comentaris a continuació.