Cómo agregar espacio de intercambio en Ubuntu


Una de las formas más sencillas de observar los problemas de falta de memoria en las aplicaciones es aumentar el tamaño de intercambio en su servidor. En este artículo, explicaremos cómo agregar un archivo de intercambio a un servidor Ubuntu.

Paso 1: Verificación de la información de intercambio

Antes de comenzar, primero asegúrese de verificar si el sistema ya tiene espacio de intercambio disponible ejecutando el siguiente comando.

$ sudo swapon --show

Si no ve ningún resultado, eso significa que su sistema no tiene espacio de intercambio disponible actualmente.

También puede confirmar que no hay espacio de intercambio disponible usando el comando gratuito.

$ free -h

Puede ver en la salida anterior que no hay ningún intercambio activo en el sistema.

Paso 2: verificar el espacio disponible en la partición

Para crear un espacio de intercambio, primero debe verificar su uso actual del disco y confirmar que hay suficiente espacio para crear un archivo de intercambio en el sistema.

$ df -h

La partición con / tiene suficiente espacio disponible para crear un archivo de intercambio.

Paso 3: crear un archivo de intercambio en Ubuntu

Ahora crearemos un archivo de intercambio llamado swap.img en nuestro directorio root (/) de Ubuntu usando el comando fallocate con el tamaño de 1GB (puede ajustar el tamaño según sus necesidades) y verifique el tamaño del intercambio usando el comando ls como se muestra.

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

En el resultado anterior, puede ver que hemos creado el archivo de intercambio con la cantidad correcta de espacio, es decir, 1 GB.

Paso 4: Habilitar el archivo de intercambio en Ubuntu

Para habilitar el archivo de intercambio en Ubuntu, primero, debe establecer los permisos correctos en el archivo para que solo el usuario root tenga acceso al archivo.

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

De la salida anterior, puede ver que solo el usuario root tiene los permisos de lectura y escritura.

Ahora ejecute los siguientes comandos para marcar el archivo como espacio de intercambio y habilite el archivo de intercambio para comenzar a utilizarlo en el sistema.

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

Verifique que el espacio de intercambio esté disponible ejecutando los siguientes comandos.

$ sudo swapon --show
$ free -h

De la salida anterior, está claro que nuestro nuevo archivo de intercambio se ha creado con éxito y nuestro sistema Ubuntu comenzará a usarlo según sea necesario.

Paso 5: montar el archivo de intercambio de forma permanente en Ubuntu

Para que el espacio de intercambio sea permanente, debe agregar la información del archivo de intercambio en el archivo /etc/fstab y verificarlo ejecutando los siguientes comandos.

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

Paso 6: Ajustar la configuración de intercambio en Ubuntu

Hay algunas configuraciones que necesita configurar que tendrán un efecto en el rendimiento de su Ubuntu al usar el intercambio.

Swappiness es un parámetro del kernel de Linux que especifica cuánto (y con qué frecuencia) su sistema intercambia datos de la RAM al espacio de intercambio. El valor predeterminado para este parámetro es "60" y puede utilizar cualquier valor de "0" a "100". Cuanto mayor sea el valor, mayor será el uso del espacio de intercambio por parte de Kernel.

Primero, verifique el valor de intercambio actual escribiendo el siguiente comando.

$ cat /proc/sys/vm/swappiness

El valor de intercambio actual de 60 es perfecto para el uso de escritorio, pero para un servidor, debe configurarlo en un valor más bajo, es decir, 10.

$ sudo sysctl vm.swappiness=10

Para que esta configuración sea permanente, debe agregar la siguiente línea al archivo /etc/sysctl.conf .

vm.swappiness=10

Otra configuración similar que quizás desee modificar es vfs_cache_pressure : esta configuración especifica cuánto querrá el sistema almacenar en caché los detalles de inodo y dentry sobre otros datos.

Puede verificar el valor actual consultando el sistema de archivos proc.

$ cat /proc/sys/vm/vfs_cache_pressure

El valor actual se establece en 100, lo que significa que nuestro sistema elimina la información de inodo de la caché demasiado rápido. Sugiero que deberíamos establecer esto en una configuración más estable como 50.

$ sudo sysctl vm.vfs_cache_pressure=50

Para que esta configuración sea permanente, debe agregar la siguiente línea al archivo /etc/sysctl.conf .

vm.vfs_cache_pressure=50

Guarde y cierre el archivo cuando haya terminado.

Paso 7: eliminar un archivo de intercambio en Ubuntu

Para eliminar o eliminar el archivo de intercambio recién creado, ejecute los siguientes comandos.

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

Finalmente, elimine la entrada del archivo de intercambio del archivo/etc/fstab.

¡Eso es todo! En este artículo, hemos explicado cómo crear un archivo de intercambio en su distribución de Ubuntu. Si tiene alguna pregunta sobre este artículo, no dude en hacer sus preguntas en la sección de comentarios a continuación.