Volver al blog

Añadir espacio swap en Ubuntu 20.04: Un tutorial

Añadir espacio swap en Ubuntu 20.04: Un tutorial

Agregar espacio de intercambio (swap) a su servidor es una excelente opción para compensar los errores de falta de memoria. Linux permite a los usuarios agregar espacio de intercambio en su sistema cuando la cantidad de RAM en el sistema está llena. Al crear una partición de espacio dedicada, permitirá que su memoria física funcione sin problemas sin preocuparse demasiado por el poco espacio en disco.

Descripción general de Swap

El espacio de intercambio en Linux es una parte de la memoria virtual utilizada cuando la memoria física se queda sin espacio. Especialmente cuando se trabaja con un programa o aplicación grande donde surge la necesidad de memoria adicional, el espacio de intercambio es una opción ideal para albergar páginas de memoria temporalmente inactivas. La creación de un espacio de intercambio permite a los usuarios almacenar datos cuando se ejecutan programas grandes y, por lo tanto, reduce las caídas de las aplicaciones. Eso significa que si el sistema necesita más recursos de memoria y la RAM está llena, todas las páginas inactivas en la memoria se trasladan al espacio de intercambio y los programas pueden ejecutarse sin interrupciones.

¿Qué cantidad de swap necesito?

La cantidad de espacio de intercambio depende de varios factores. Estos incluyen la RAM disponible, la carga impuesta y si se requiere que el sistema admita la función de hibernación (suspensión a disco). Consulte la siguiente tabla para verificar el espacio de intercambio recomendado según el espacio disponible en la RAM:

N.º

Espacio de RAM disponible

Espacio de intercambio recomendado

1.

1GB

1GB

2.

2GB

1GB

3.

3GB

2GB

4.

4GB

2GB

5.

5GB

2GB

6.

6GB

2GB

7.

8GB

3GB

En este tutorial, le guiaremos a través de los pasos para agregar espacio de intercambio en Ubuntu 20.04. ¡Comencemos!

Requisitos previos

Para seguir este tutorial, necesitará:

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

El tamaño del espacio de intercambio depende de la RAM del sistema. Por lo tanto, es esencial verificar la disponibilidad de espacio de intercambio en su sistema antes de crear uno. Escriba el siguiente comando para verificar si el sistema tiene algún swap configurado:

Swap Space image 1

Si se muestra una salida, significa que hay espacio disponible en su sistema para crear espacio de intercambio. Sin embargo, si no hay salida, es una señal que indica que no hay suficiente espacio disponible para agregar espacio de intercambio.

Use la utilidad free para verificar que no haya ningún swap activo:

Verá la salida como una fila de swap nula:

Swap Space image 2

Paso 2: Verificación de la disponibilidad de la partición del disco duro

De manera similar a la verificación de la disponibilidad del sistema, ahora verifiquemos nuestro uso actual del disco para asegurarnos de que tenemos suficiente espacio. Use el comando df para verificar la disponibilidad de la partición del disco duro:

El dispositivo con / en la columna Mounted on es nuestro disco que está 11% libre. Verá la salida:

Swap Space image 3

Después de verificar los requisitos del sistema, sigamos adelante y creemos un archivo de intercambio en nuestro sistema de archivos.

Paso 3: Crear un archivo de intercambio

Para crear un archivo de intercambio en nuestro sistema de archivos, asigne un nombre de archivo como swapfile en el directorio raíz (/) utilizando el programa fallocate. La asignación del tamaño del archivo depende de sus necesidades. Para mantener el tutorial simple y fácil de entender, estamos creando un archivo de 1G y dedicando 1G de RAM. Use el comando sudo para crear un archivo de intercambio:

A continuación, escriba este comando para verificar el espacio reservado:

Verá la salida:Swap Space image 3

Ahora que hemos creado un espacio de intercambio en nuestro sistema, habilitémoslo en el siguiente paso.

Paso 4: Habilitar el archivo de intercambio

Once we have the correct size available, let’s convert it into swap space. For security reasons, it is crucial to make our file accessible to root users and prevent accessibility from normal users. We’ll add restrictions so that users with root puedan ver el archivo y leer su contenido. Use el siguiente comando de root para que el archivo solo sea accesible para los usuarios root :

Luego, use el comando ls para verificar los cambios:

Como puede ver, solo el usuario root tiene habilitados los indicadores de lectura y escritura:

Swap Space image 4

Después de eso, marque el archivo como espacio de intercambio:

Verá la salida:

Swap Space image 5

Después de eso, habilite el archivo de intercambio y permita que nuestro sistema comience a usarlo:

A continuación, verifique la disponibilidad del swap:

Verá el siguiente resultado:

Swap Space image 6

Como hicimos en el Paso 1, comprobaremos el espacio de la utilidad free una vez más:

Verá el siguiente resultado:

Swap Space image 7

Nuestro swap se ha configurado correctamente y nuestro sistema operativo comenzará a usarlo según sea necesario. En el siguiente paso, haremos que el archivo de intercambio sea permanente.

Paso 5: Hacer que el archivo de intercambio sea permanente

Por defecto, el servidor no conservará la configuración de swap automáticamente cada vez que reiniciemos. Para cambiar la configuración predeterminada y estar seguros, agregaremos el archivo de intercambio a nuestro archivo /etc/fstab. Use el comando sudo para hacer una copia de seguridad del archivo /etc/fstab:

A continuación, agregue la información del archivo de intercambio al final de su archivo /etc/fstab escribiendo:

Después de eso, revisemos algunas configuraciones y realicemos modificaciones para poder ajustar nuestro espacio de swap.

Paso 6: Modificación de la configuración de swap

En este paso, configuraremos los ajustes y realizaremos algunas modificaciones. Ajustemos la propiedad swappiness y cambiemos la presión de la caché.

  • Ajustar la propiedad Swappiness

El parámetro swappiness es un parámetro del núcleo ajustable. Cambia el equilibrio entre el intercambio de la memoria de ejecución y explica el intercambio de datos entre el traslado de datos fuera de la RAM al espacio de swap. Este valor paramétrico se expresa en porcentaje, que va desde 0 hasta 100.

El valor vm.swappiness tiene una influencia directa en el comportamiento del swappiness del sistema. Cuanto mayor sea el vm.swappiness, más intercambiará el sistema y viceversa. Si el valor es cercano a cero, el núcleo no intercambiará datos, lo que puede provocar una reducción del rendimiento. Permitir que su sistema no dependa mucho del swap es una excelente manera de mejorar su rendimiento y obtener una capacidad de respuesta sólida.

Alternativamente, un vm.swappiness que esté más cerca de 100 intentará poner más datos en el swap y menos en la memoria física. A diferencia de un valor de vm.swappiness bajo o mediocre, un alto intercambio del sistema tiene efectos muy indeseables cuando hay grandes cantidades de datos intercambiándose activamente dentro y fuera de la RAM.

Verifique el valor actual de swappiness escribiendo:

Verá el siguiente resultado:

Swap Space image 8

También puede establecer el swappiness de su elección utilizando el comando sysctl. Establezcamos el valor de swappiness en 15 escribiendo:

Verá el siguiente resultado:

output

Hasta que se reinicie el sistema, la configuración permanecerá tal cual. Agregue la línea a nuestro archivo /etc/sysctl.conf para establecer el valor automáticamente al reiniciar:

Puede agregar el siguiente código en la parte inferior:

code

Luego, guarde y cierre el archivo.

  • Ajustar la presión de la caché

A continuación, vamos a modificar vfs_cache_pressure que se encargará de la información de inode y dentry información sobre otros datos. Esta configuración de vfs_cache_pressure settings también controla la tendencia del núcleo a recuperar la memoria utilizada para el almacenamiento en caché del directorio. Navegue por el sistema de archivos proc nuevamente para verificar el valor actual:

Verá el siguiente resultado:

output 2

Como la configuración ya está hecha, nuestro sistema eliminará la información de inode de la caché. Establezcamos el sysctl vm.vfs_cache_pressure en una configuración más estable como esta:

Verá el siguiente resultado:

Swap Space image 9

De manera similar a lo que hicimos en nuestra configuración de swappiness, también podemos cambiar la configuración aquí:

En la parte inferior, inserte una línea que indique el nuevo valor que creó:

Swap Space image 10

Finalmente, guarde y cierre el archivo.

Conclusión

Puede agregar espacio de intercambio como una partición de intercambio dedicada, un archivo de intercambio o una combinación de ambos. Puede crear espacio de intercambio y aprovechar sus beneficios para ejecutar aplicaciones sin problemas sin preocuparse demasiado por las advertencias de memoria insuficiente. Si bien la creación de espacio de intercambio es una ventaja adicional en sistemas con espacio de memoria limitado, no debe tratarse como una alternativa a más espacio de RAM. Recuerde que el espacio de intercambio se encuentra en un disco duro, por lo tanto, puede experimentar un tiempo de acceso ligeramente lento en comparación con la memoria física.

Aquí tiene más tutoriales en nuestro blog que le ayudarán a empezar a trabajar con sus servidores Ubuntu:

¡Feliz informática!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.