miércoles, 7 de julio de 2021

Aumentar tamaño de swap en Linux



Cómo aumentar el tamaño de swap por si el sistema se queda sin memoria RAM disponible.



Administro un sistema operativo Linux que corre directamente sobre una máquina física, sin ningún sistema de virtualización por en medio. Este sistema va algo corto de memoria RAM y cae a menudo.

Mientras espero la llegada de nuevos DIMM's de RAM, lo que he hecho ha sido aumentar el tamaño de swap para que pagine bajo demanda bajando a disco aquellos programas que no necesite usar en un momento dado para evitar que el sistema haga un kernel panic al no contar con la RAM necesaria.

Para aumentar el tamaño de swap en un sistema Linux, podemos aumentar la partición de swap o podemos añadir un swapfile que actúe como espacio swap. Lo más rápido es añadir un swapfile.

Para ello, creamos un directorio donde ubicar el fichero:

HOST # mkdir /swap

A continuación, creamos un swapfile de 100GB:

HOST # fallocate -l 100G /swap/swapfile

Si no disponemos de fallocate, podemos usar dd:

HOST # dd if=/dev/zero of=/swap/swapfile bs=1G count=100 100+0 records in 100+0 records out 107374182400 bytes (107 GB, 100 GiB) copied, 151.577 s, 708 MB/s

- bs indica el tamaño de los bloques a crear.
- count indica el número de bloques a crear en total.

bs * count = el número de GB del fichero.

Damos derechos de lectura/escritura/ejecución al fichero solo a root:

HOST # chmod 600 /swap/wapfile

Indicamos al sistema que el archivo es una swap area:

HOST # mkswap /swap/swapfile Setting up swapspace version 1, size = 100 GiB (107374178304 bytes) no label, UUID=37855cb5-34f6-45b6-a6a3-bdf87642abff

Activamos el fichero:

HOST # swapon /swap/swapfile

Recordar que este fichero se desactivará tras un reinicio del sistema operativo.

Por último, solo queda comprobar que swap ha aumentado su tamaño:

HOST # swapon --show NAME TYPE SIZE USED PRIO /dev/sdb3 partition 32G 0B -2 /swap/swapfile file 100G 0B -3

También podemos mirarlo con el comando free:

HOST # free -h total used free shared buff/cache available Mem: 1.3Ti 777Gi 275Gi 37Gi 324Gi 549Gi Swap: 131Gi 0B 131Gi

Si quisiéramos deshabilitar el swapfile:

HOST # swapoff /swap/swapfile

Listo.
1

1 comentario: