linux

Agregar fichero swap (de intercambio) en Linux Ubuntu Server

La partición swap funciona para aumentar la RAM de una computadora. Bueno, no la aumenta pero hace que el sistema operativo pueda alojar algunos datos en el disco duro.

Eso sí, agregar una swap de 10 terabytes no ayudaría a tener la computadora más rápida; de hecho el swap es únicamente una ayuda, no es RAM real. Todo esto es porque, aunque sí se puede crear una partición de intercambio de cualquier tamaño, la lectura del disco duro es más lenta que la lectura de la RAM.

Pero bueno, no vamos a meternos en explicaciones técnicas; puedes leer más en la Wikipedia. El tutorial de hoy indica cómo agregar un archivo que funcionará como memoria de intercambio o swap, en una computadora con Linux Ubuntu Server.

La versión de Ubuntu es la 18.10 pero seguramente funciona en otras versiones; ya sea anteriores o superiores (suponiendo que lees esto después de abril del 2019).

Nota: no vamos a agregar una partición swap, sino un archivo swap. Ambos funcionan igual, y tienen ventajas y desventajas. Por cierto, esto del archivo swap es por si no pudiste hacer la partición y tienes que agregar el archivo encima; de ahí se recomienda siempre crear una partición en lugar de un archivo.

El tamaño de la swap

Hay muchas recomendaciones, algunos dicen que lo doble de la RAM, otros que la mitad. Vamos a tomar lo que dice RedHat en su página, y dice así (todo esto suponiendo que no vamos a permitir la hibernacion):

Si tenemos menos de 2 GB de RAM, entonces el tamaño de la swap debe ser el doble de la RAM. En caso de tener entre 2GB y 8GB de RAM, el tamaño recomendado es igual al de la RAM, o sea, la swap debe ser del mismo tamaño que la RAM verdadera.

En caso de tener entre 8 y 64 GB de RAM, el tamaño de la memoria de intercambio (swap) debe ser de entre 4GB y la mitad de la RAM disponible. Por ejemplo, si tenemos 16 GB de RAM deberíamos tener entre 4GB y 8 GB.

Finalmente, si la RAM es mayor a 64 depende del trabajo que realice nuestra computadora, pero debería ser de al menos 4 GB.

Verificar si no tenemos un archivo de swap antes de crearlo

No se recomienda tener dos archivos de swap en nuestro sistema, sólo uno. Por ello primero se comprueba con:

sudo swapon --show

En caso de que no imprima nada (aparte de pedir la contraseña en algunos casos) significa que no hay swap actualmente.

Si imprime algo, entonces ya tenemos uno. La siguiente imagen muestra un ejemplo de cuando ya existe el archivo o partición swap:

Partición o archivo swap ya existe

Lo digo de nuevo, si no imprime nada entonces sigue con el tutorial.

Crear archivo de intercamio o swap en Linux Ubuntu

Ahora sí, después de comprobar si ya tenemos un archivo de intercambio vamos a crear uno.

Antes de todo, quiero aclarar que el nombre del archivo así como su ubicación puede ser cualquiera. Algunos lo montan directamente en /, otros en /home, etcétera. Nosotros lo vamos a crear en /var con el nombre swap_file.

Para ello ejecutamos:

sudo fallocate -l 250M /var/swap_file

El comando fallocate sirve para prealojar espacio en un archivo; el espacio lo especificamos con la opción -l que indica la longitud (serían 250 MB). El último argumento es el nombre del archivo que vamos a alojar.

Cuando el archivo haya sido creado, es momento de protegerlo para que solamente root pueda modificarlo. En este caso utilizamos chmod.

sudo chmod 600 /var/swap_file

Ahora viene el paso final y es convertir nuestro archivo en un fichero de intercambio, utilizando mkswap (make swap):

sudo mkswap /var/swap_file

Todo eso está en la siguiente captura (los ^C se fueron por error):

Crear archivo de intercambio o swap con mkswap

Con eso hemos creado el swap, pero falta encenderlo o activarlo. Si lo queremos encender, ejecutamos:

sudo swapon /var/swap_file

Finalmente vamos a hacer que el cambio sea permanente incluso tras un reinicio. Eso se consigue editando el archivo /etc/fstab que monta los sistemas de archivos y esas cosas. Lo editamos con nano o un editor de texto. Si es con nano, ejecutamos:

sudo nano /etc/fstab

Y agregamos la siguiente línea:

/var/swap_file swap swap defaults 0 0

Es como una línea con columnas. La primera indica la ubicación del enlace (sería el archivo que creamos), la segunda indica en qué parte del sistema se va a montar (en swap). La tercera indica el tipo de sistema de archivos (por eso es de tipo swap).

El cuarto campo indica las opciones al montar; las dejamos en defaults. El quinto y sexto campo especifican un comportamiento para dump y fsck, los cuales dejamos en 0; no miento, aquí está el manual.

Editando el archivo fstab para agregar fichero swap en Linux

Luego de editar guardamos cambios; si es nano entonces primero presiona Ctrl + O, presiona Enter y finalmente Ctrl + X.

Comprobar si hemos creado el archivo swap

Vuelve a ejecutar el comando que dejamos arriba; ahora debe imprimir los valores que configuramos. Recomiendo reiniciar la computadora.

Eliminar archivo swap

Si quieres eliminar el archivo que hemos creado, primero apágalo como swap:

sudo swapoff /var/swap_file

Luego quita lo que agregamos a /etc/fstab, es decir, remueve la línea y guarda cambios. Finalmente elimina el archivo com:

sudo rm /var/swap_file

Listo.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.