Agregar Swap en Linux sin tener que reiniciar

En Linux hay dos formas de tener swap o espacio de intercambio. La primera es con una partición creada al momento de instalar el sistema, y la segunda es con un archivo en nuestro sistema de archivos, comúnmente llamado swapfile. Un ejemplo en el que podríamos necesitar agregar swap es en el caso de los servidores o máquinas virtuales, ya que estos de forma predeterminada no tienen swap y cuando tenemos que correr alguna aplicación como composer las cosas se complican bastante. Hay muchos escenarios de este tipo y pueden estar involucrados bases de datos, PHP, Apache, entre otros, en los que nuestro sistema puede quedar inutilizado por no tener suficiente swap, así que empecemos.

htop mem

Para usuarios de Ubuntu o para cualquier distribución que no permita usar root directamente tenemos que anteponer sudo en todos los comandos.

Esto aplica casi para cualquier distribución, lo primero es crear un archivo lleno de ceros con el comando dd.

dd if=/dev/zero of=/swap1 bs=1024 count=1000000

La salida será similar a esta:

~$ dd if=/dev/zero of=/swap1 bs=1024 count=1000000 1000000+0 records in 1000000+0 records out 1024000000 bytes (1.0 GB, 977 MiB) copied, 1.9816 s, 517 MB/s

Este swap mide alrededor de 1 GB, para uno de 2 GB cambiamos el parámetro count a 2000000 y para uno de 4 GB lo cambiamos a 4000000. La cantidad no es exacta con respecto a los sistemas de medidas en este caso, para hacer cálculos del tamaño exacto del archivo usar el método que se encuentra en la página fuente al final de este artículo.

Ahora convertimos el archivo a tipo swap con:

mkswap /swap1

Después lo ponemos en marcha activándolo:

swapon /swap1

Para verificar que el archivo swap se está usando en el sistema ejecutamos:

free -h

Salida del comando:


total   used        free      shared  buff/cache   available
Mem:    1.9Gi       400Mi     82Mi    93Mi         1.5Gi       1.3Gi
Swap:   2.0Gi       192Mi     1.8Gi

En la parte donde dice "Swap:" en "total" debe decir la cantidad que asignamos o incluso más. También podemos revisar con htop y top la cantidad de swap disponible para verificar. Lo ideal es revisar con este comando antes de agregar swap y justo después de agregar, para obtener un panorama claro sobre si nuestro sistema está usando el swap nuevo.

Para que el swap se active en cada reinicio del sistema editamos /etc/fstab con nano o el editor de nuestra preferencia como root y agregamos la siguiente línea haciendo referencia al archivo de swap creado anteriormente:

/swap1              swap                    swap    defaults        0 0

Podemos crear tantos archivos como queramos, pero no hay que olvidar que ocupan espacio en disco, y si hablamos de espacio en un VPS normalmente es limitado por el hecho de que usan discos SSD. Pero al mismo tiempo es una ventaja, si tenemos la posibilidad de usar una buena porción de nuestra unidad SSD como swap, nuestro sistema nos lo agradecerá.

De esta forma si por error estamos ejecutando composer update y no tenemos tanta memoria RAM podemos hacer uso de swap siempre y cuando tengamos espacio en nuestro disco disponible, y lo mejor de todo sin reiniciar nuestro sistema.

Fuente: web3us.com

Etiquetas
Categorías