Linux Swap 🤔 Como agregar memoria virtual a tu Linux

La memoria nunca sera suficiente en nuestros equipos, mientras mas tenemos mas usaremos, por eso hoy te hablare de como manejar Linux Swap.

Cuanta memoria swap necesito, con mi cantidad de memoria RAM física necesito tener memoria virtual, estas y otras dudas las veremos en este articulo. Para este articulo mostrare los ejemplos en un equipo Ubuntu Budgie pero en teoría debe funcionarte en cualquier distribución Linux con algunos cambios. Prefieres verlo en vídeo, aquí debajo te lo comparto, ah, no olvides suscribirte a mi canal.

Que es memoria virtual o Linux swap?

La memoria virtual, swap o de intercambio es un espacio en disco, puede ser una particion o un archivo especial dedicado a guardar de forma temporal bloques inactivos de nuestra memoria RAM fisica cuando esta se llena.

Con esta operación nuestro sistema operativo libera la RAM física para las tareas que están requiriendo memoria en ese momento. Puedes leer mas información sobre memoria virtual en este URL.

Cuanta swap, memoria virtual o Linux Swap necesito en Linux?

No te lo podría decir exactamente, depende de varios factores:

  • RAM instalada en tu pc: Si tienes 8Gb de RAM o mas y haces un trabajo básico de navegar, contestar emails, uno que otro documento, es posible que casi no necesites de swap.
  • No es lo mismo usar un equipo para editar vídeo (o jugar un videojuego) que para navegar en internet, la primera tarea demandara mas CPU y RAM.
  • Tus hábitos de uso del PC, por ejemplo, abres varios programas a la vez aunque no los vayas a usar en el momento.
  • También depende de si pones o no a hibernar tu equipo.

Te muestro una tabla comparativa de cuanta memoria RAM y swap deberíamos tener en teoría.

Puedo calcular el tamaño de Linux swap multiplicando por 2 la RAM?

Hace ya una buena cantidad de años atrás, era una “formula no escrita” de sacar la cantidad a crear de swap.

En esos tiempos la memoria RAM era mas costosa. Un equipo generalmente tenia 1Gb de RAM o menos, hoy en día casi que el estándar son 4Gb y es común verlos con 8Gb.

Mi consejo es, si tienes 8Gb o mas de RAM, creala de 2 o 4Gb y monitorea el comportamiento de tu pc, si vez que a ratos es lento verifica el uso de RAM.

Si notas que te quedas sin memoria RAM y Swap, sigue leyendo, aquí mas adelante te enseño como agregar swap a tu Linux.

Te recomiendo mirar los artículos sobre comandos en la categoría para esto de este blog si quieres dominar mas la consola.

Como agregar memoria swap en Linux

La forma mas común es crear una partición para swap cuando instalamos nuestro OS opensource, como muestro en el vídeo aquí debajo.

Pero puede darse el caso de que calculaste mal y ya después usando tu Linux te das cuenta que la creaste pequeña para tus necesidades.

No hay problema, las ultimas versiones de Linux (independiente la distro que uses) permiten el uso de ficheros swap y es lo que vamos a hacer, agregar uno.

Requerimientos a instalar para agregar fichero swap

En Linux Ubuntu / Debian / Mint necesitaremos instalar un paquete. sudo apt install util-linux

Agregamos Linux file Swap

Vamos a agregar un fichero especial para swap, pero primero verifiquemos cuanta memoria RAM y swap tenemos actualmente en nuestro equipo Linux.

free -h
total usado libre compartido búfer/caché disponible
Memoria: 7,6Gi 4,3Gi 475Mi 2,3Gi 2,8Gi 781Mi
Swap: 8,0Gi 402Mi 7,6Gi

Con el comando free vemos que actualmente tenemos 8G para swap (mucho pensaras, pero para mis trabajos de edición y render de vídeo lo necesito).

Creamos el fichero swap de 2Gb (haz el cambio al tamaño que necesites) nombrándolo swapfile y lo almacenamos en /

sudo fallocate -l 2G /swapfile

Que pasa si en tu distro no tienes el comando fallocate?, puedes crear el fichero swap con un comando dd, aquí debajo por ejemplo, creo uno de 1Gb.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

Preparamos el file swap

Ya creado nuestro Linux Swap, por seguridad cambiaremos permisos para que solo root pueda leerlo y escribirlo.

sudo chmod 600 /swapfile

Formateamos el fichero swap y lo activamos.

sudo mkswap /swapfile
sudo swapon /swapfile

Configuramos file swap en fstab

La activación del fichero swap hasta ahora ha sido temporal, para que siempre se active debemos modificar nuestro fstab (encargado de los filesystem del equipo).

sudo vi /etc/fstab
/swapfile swap swap defaults 0 0

Verificamos nuestra memoria RAM y swap en este momento. Ya nos aparece la nueva capacidad de Linux swap.

free -h

swappiness, que es y como lo modifico?

El parámetro swappiness controla la tendencia del kernel a mover los procesos fuera de la memoria física hacia la memoria de intercambio o swap.

Debido a que los discos son mucho más lentos que la memoria RAM, esto puede llevar a tiempos de respuesta más lentos para el sistema y las aplicaciones si los procesos se mueven demasiado agresivamente llenando la memoria.

Entonces swappiness puede tener un valor de entre 0 y 100. swappiness = 0 le dice al kernel que evite intercambiar los procesos de la memoria física durante el mayor tiempo posible mientras que swappiness = 100 le dice al kernel que intercambie agresivamente los procesos de la memoria física y los mueva a la caché de intercambio.

La configuración predeterminada en Ubuntu es swappiness = 60.

Reducir el valor predeterminado de swappiness probablemente mejorará el rendimiento general de una instalación típica de escritorio de Ubuntu.

Se recomienda un valor de swappiness = 10 siempre , pero, mejor haz pruebas.

Como vemos y modificamos nuestro swappiness actual?

Ejecutando un comando cat podemos verificar el valor actual.

cat /proc/sys/vm/swappiness
60

Para modificarlo ejecutamos el siguiente comando pasandole el valor a activar.

sudo sysctl vm.swappiness=10

Esto sera temporal, pero si quieres (ya hiciste pruebas y estas seguro del valor) dejarlo permanente, debemos modificar sysctl.conf y agregar la siguiente linea al final.

vi /etc/sysctl.conf
vm.swappiness=10

Como eliminar swap

Dependiendo de si tu Linux swap es una partición o un fichero debemos:

  • Si es una partición, desactivarla y eliminarla con fdisk u otro comando de manejo de discos ademas de su referencia en fstab.
  • Los file swap también debemos desactivarlos y después eliminarlos junto con su referencia en fstab.

Siguiendo con el ejemplo del fichero swap, primero desactivaremos su uso.

sudo swapoff -v /swapfile

Eliminamos su referencia en /etc/fstab, por ejemplo, para una partición.

UUID=13dc69c3-dd97-4091-af1c-7849f6e75dc7 none swap sw 0 0

Y finalmente eliminamos el fichero swap de nuestro filesystem /.

sudo rm /swapfile

Con esto ya habremos eliminado el file swap de nuestro equipo.

Cuéntame aquí debajo en los comentarios si lo haz hecho o esta en planes aumentar tu memoria swap. Satisfech@ con el articulo, hazme una donación, no importa la cantidad, la intención es lo que vale, dale click a este botón

Comparte este articulo opensource en tus redes sociales (compartir es sexy) por medio de los botones de redes sociales para que otros lo conozcan y apoyes mi blog.

Ademas, no olvides escribirme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

5 1 vote
Article Rating
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Theo Lion
Theo Lion
4 years ago

Lo de que en los videos vas al grano y en los artículos te explayas iba enserio, madre mía menuda biblioteca.

Leído con uBlock Origin desactivado