Qué es Swapping en sistemas operativos

que es swapping

Muchos de los sistemas operativos de la actualidad cuentan con una función conocida como memoria virtual. La misma, simula a los sistemas y programas, que se cuenta con más memoria de la que se tiene en realidad. Pero, dado que físicamente, esta capacidad no existe, la memoria RAM no podrá ubicar estos procesos. Es entonces cuando el Swapping resulta de gran utilidad. Pero ¿qué es Swapping en sistemas operativos?

El swap es un mecanismo de intercambio, donde el sistema operativo mueve un proceso poco activo hacia el disco duro. Con ello, consigue liberar la memoria principal, consiguiendo ejecutar otros procesos. Cuando no se encuentra en uso, el proceso movido puede mantenerse en el disco, evitando hacer uso de la memoria física. Al hacerse necesario, el sistema realiza el intercambio del proceso nuevamente hacia la RAM. Dando la impresión de que se tiene más memoria disponible.

En este post explicaremos a profundidad lo que es el Swapping y cómo crear un espacio swap. Sigue leyendo y descubre las formas de hacerlo.

¿Qué es el Swapping?

Se entiende como Swapping o espacio swap a una participación del disco o a un archivo. Estos pueden ser creados por los usuarios al momento de la instalación del sistema operativo o cuando lo desee. Estos espacios de intercambio son muy recomendados para personas cuyos sistemas poseen 1 o menos GB de RAM. Pero, también puede aplicarse en equipos con mayor potencia.

Se recomienda usar la siguiente cantidad de memoria swap:

  • 1 GB de RAM o menor: misma cantidad de swap.
  • De 2 a 4 GB de memoria RAM: la mitad para swap.
  • Superior a 4 GB de RAM: 2 GB de memoria swap.

En el sistema operativo Linux, se considera que la partición swap es necesaria. Los desarrolladores de la distribución Ubuntu eliminaron esta necesidad. Reemplazando la misma, desde la distribución 17.04 con el archivo Swapfile.

Utilidades del Swapping en el sistema operativo

En un sistema operativo, son diversas las finalidades para las que se lleva a cabo el Swapping. Entre todos, podemos destacar los más importantes:

  • Puede ser utilizado como memoria adyacente. Minimizando las operaciones de entrada y salida en un archivo, para leerlo o escribirlo.
  • Sirve para guardar en un fichero swap todas las aplicaciones que tienen un poco uso o no son tan demandadas.
  • Ayuda al sistema a mantener continuamente una cierta cantidad de memoria RAM libre.
  • La cantidad de memoria RAM que se ha podido liberar por la partición swap, puede utilizarse por el sistema operativo para otras funciones.

¿Cómo utiliza Windows el Swapping?

En el caso del sistema operativo Windows, cuando se utiliza toda la memoria RAM disponible, este activa el Swapping. Windows se encarga de administrar de manera automática, el tamaño del archivo. Permitiendo al sistema operativo tener, de forma temporal, más recursos. En la versión de Windows 10, el tamaño de la memoria swap puede modificarse desde el panel de control. Accediendo a la configuración avanzada del sistema.

¿Cómo crear un Swapping desde Linux?

Se puede comprobar el estado del Swapping desde Linux, utilizando alguna de estas dos órdenes:

  • Swapon-s
  • Free-h

Se puede crear una partición swap, haciendo uso de cualquier herramienta de gestión de partición en GNU/Linux. La memoria swap es establecida como tipo 82. Esto no impide que pueda ser utilizada cualquier otra partición para el Swapping.

Si deseas crear un área de Swapping en Linux, utiliza la orden mkswap.

La orden mkswap crea por defecto una partición UUID. Si se desea especificar una UUID personalizada, se deberá utilizar la etiqueta –U de la siguiente forma:

  • sudo mkswap -U custom_UUID /dev/sda2

Cuando se busca activar el dispositivo para la paginación, se utiliza:

  • sudo swapon /dev/sda2

Si se desea activar la participación swap al arrancar el equipo, se debe ejecutar el siguiente comando:

  • sudo echo “/dev/sda2 none swap defaults 0 0” >> /etc/fstab

Activación por systemd

Systemd activa el Swapping haciendo uso de dos diferentes mecanismos. Estos se ejecutan en /usr/lib/systemd/system-generators. Activándose cuando el sistema operativo arranca, creando unidades nativas de systemd para los montajes. El mecanismo ic|systemd-fstab-generator se encarga de leer el archivo fstab para crear unidades como la swap. El mecanismo systemd-gpt-auto-generator evalúa el disco para crear nuevas unidades.

Swapping desde un dispositivo USB

Linux ofrece excelentes modularidades, donde se pueden tener diversas particiones en dispositivos diferentes. Cuando el disco duro se encuentra saturado, hacer uso de un dispositivo USB puede servir para crear una partición temporal. Sin embargo, existen ciertas desventajas que acompañan a este truco:

  • El dispositivo USB funcionará de forma más lenta que el disco duro.
  • Los ciclos de lectura se encuentran limitados en las memorias flash. Haciendo que su uso para Swapping acorte su vida útil.
  • Si otro dispositivo se encuentra conectado al equipo, no puede ser usado para swapping.

Swapping para optimizar el rendimiento del sistema operativo

La configuración de Swapping puede ser ajustada para mejorar el rendimiento del sistema operativo de la siguiente forma:

Swappiness

Swappiness de sysctl constituye la preferencia del núcleo del sistema de no hacer uso del espacio swap. Swappines se mantiene en valores entre 0 y 100, siendo 60 el usado por defecto. Cuando se establece un valor menor, el intercambio desde la RAM se reduce. Mejorando así la capacidad de respuesta del sistema. Cuando el valor es mayor, el núcleo del sistema hará uso agresivamente del swap. Por lo que es recomendable usar valores bajos para mejorar la capacidad.

La comprobación del valor actual de swappiness se realiza con el siguiente comando:

  • sudo cat /proc/sys/vm/swappiness

El ajuste temporal del valor swappiness se consigue con:

  • sudo sysctl vm.swappiness=10

Si se desea establecer de forma permanente el valor swappiness, se debe editar un archivo de ajuste sysctl:

  • /etc/sysctl.d/99-sysctl.conf|2=
  • swappiness=10

Prioridad

Cuando se tienen varias particiones swap, se debe considerar asignarle valores de prioridad a cada área. El sistema hará so de la partición con mayor prioridad, antes que utilizar las de menor valor. Estas pueden asignarse en fstab desde el parámetro 1=pri de la siguiente forma:

  • /dev/sda1 none swap defaults,pri=100 0 0
  • /dev/sdb2 none swap defaults,pri=10 0 0

O a través de los parámetros −p (o −−priority) de la orden swapon:

  • sudo swapon -p 100 /dev/sda1

Quizás te interese:

whatsapp-en-linea whatsapp-en-linea