Cursos y talleres en español de Internet de las Cosas (IoT)
            
  Acceso a cursos  

Memoria de intercambio

¿En qué podemos ayudarte?

Memoria de intercambio

Estas aquí:
<< Regresar

swap

La memoria de intercambio también conocida como swap. Es la encargada de gestionar la memoria de paginación, que no es otra cosa que las divisiones de los programas. Cuando un programa se abre no todo el programa se carga en la memoria RAM, ya que gran parte de él no se ocupará en el mejor de los casos o simplemente se ocupará pocas veces, por eso el sistema operativo divide los programas en pequeños fragmentos para poder tener disponible la mayor cantidad de RAM y ofrecer recursos a los programas y/o procesos que lo requieran.

Linux divide la memoria física RAM en bloques de memoria llamadas páginas. Swapping es el proceso por el cual una página de memoria es copiada a un espacio en el disco duro, llamado memoria swap, para liberar esa página en memoria. La combinación de los tamaños de memoria física y la memoria swap recibe el nombre de memoria virtual disponible.

Memoria Swap

La memoria swap es una partición en el disco duro pero también puede ser un archivo. El espacio swap se crea durante la instalación de la mayoría de las distribuciones de Linux. La swap es recomendada para equipos con menos de 1 GB de RAM, pero se vuelve más una cuestión de preferencia personal en sistemas con cantidades grandes de RAM física (es necesaria para la suspensión del equipo) .

Podemos verificar su estado con la siguiente instrucción

swapon -s

o con:

free -h

En cualquiera de los casos no importa que la swap sea un archivo o en su defecto una partición en el disco, se le tratará de la misma manera.

Partición swap

Una partición swap puede ser creada con la gran mayoría de las herramientas de particionado de GNU/Linux (fdisk, cfdisk, etc). La instrucción mkswap puede ser empleada como a continuación:

mkswap /dev/sda2

Es importante mencionar que toda la información contenida en esa sección del disco se destruirá al crear la swap.

La herramienta mkswap genera un UUID (universally unique identifier, Identificador único universal) para la partición por defecto, para especificar un UUID se emplea la bandera -U, como se muestra a continuación:

mkswap -U custom_UUID /dev/sda2

Para activar la partición de intercambio

swapon /dev/sda2

Para activar la partición de intercambio al arranque del sistema debemos agregar la siguiente entrada en el fstab

vi /etc/fstab /dev/sda2 none swap defaults 0 0

Agregar la entrada en el fstab es opcional, ya que también puede hacerse por medio del systemd

Si emplea un SSD (Solid State Device, Unidad de estado sólido) con soporte para TRIM, descarte el uso de la swap.

Activando la swap por medio de systemd

systemd activa la partición swap por medio de dos mecanismos diferentes, ambos son ejecutados /usr/lib/systemd/system-generators. Los generators son ejecutados al arranque del sistema para ser montados por medio del systemd.

Primero, systemd-fstab-generator, lee el fstab para generar unidades, incluyendo la swap.

Segundo, systemd-gpt-auto-generator inspecciona la raíz del disco para generar las unidades, e identifica la swap por el tipo de código (cada partición según su tipo tiene un código diferente, en el caso de la swap es el 82).

Desactivando la swap

Para desactivar la partición swap solamente es necesario ejecutar la siguiente instrucción en nuestra partición swap

swapoff /dev/sda2

Alternativamente podemos usar la bandera -a para desactivar todo el espacio de intercambio. Por defecto, desde que la swap es administrada por systemd, este se encarga de activarla en el siguiente inicio del sistema. Para desactivarla de forma permanente, sólo basta con ejecutar la siguiente instrucción para identificar nuestra swap

systemctl --type swap

seguido de la siguiente instrucción, donde haremos un mask a nuestra swap

systemctl mask dev-sda8.swap

Deja una respuesta