Lo que necesita saber sobre la partición de intercambio en Linux

Cuando instala Linux, el proceso de configuración probablemente agregará una partición de intercambio al disco duro junto con las particiones para Linux. Pero, ¿para qué se utiliza esta partición de intercambio? ¿Es realmente necesaria?

¿Qué es el intercambio?

Cuando un sistema operativo multitarea se queda sin memoria física, no puede iniciar nuevos procesos ni asignar más memoria a los procesos existentes. Para resolver este problema, se reserva un bloque especial de espacio en el almacenamiento local (a menudo el disco duro) para que actúe como un área de espera temporal para los procesos que no se están ejecutando actualmente. El sistema operativo «intercambia» el proceso inactivo fuera de la memoria y en el disco duro. Esto libera memoria para nuevos trabajos. Cuando el proceso inactivo vuelve a estar activo, volverá del almacenamiento local a la memoria. Este procedimiento se conoce como intercambio.

¿Es realmente necesario el espacio de intercambio?

¿Es el espacio de intercambio técnicamente necesario? No. Linux puede funcionar sin él y, en algunas situaciones, como soluciones integradas, Linux se puede ejecutar sin intercambio. Si el sistema operativo se encuentra en una situación en la que no tiene suficiente memoria, entrará en pánico y se detendrá. Si hay suficiente RAM física, la máquina funcionará sin problemas.

¿Es el espacio de intercambio prácticamente necesario? Sí. Aunque el intercambio ralentiza una computadora (ya que leer y escribir en un disco duro es mucho más lento que acceder a la RAM) y tener tanta memoria física a bordo es la mejor solución para evitar el intercambio, existen situaciones legítimas en las que el intercambio es deseable. Por ejemplo, durante el arranque del sistema, puede haber procesos que se ejecuten (y, por lo tanto, consuman la memoria del sistema) pero que luego duerman efectivamente durante largos períodos de tiempo. O memoria que se asigna, se escribe y luego nunca se vuelve a usar. En estas situaciones, el algoritmo de intercambio comenzará a migrar esta memoria al disco duro y así liberará valiosa memoria del sistema. En realidad, esto garantiza que la cantidad máxima de RAM esté disponible en todo momento y, por lo tanto, aumenta el rendimiento.

swap-partition-in-gparted

En las máquinas que no tienen suficiente RAM física para que todo resida en la memoria, ¡el uso del espacio de intercambio es esencial!

Para completar, vale la pena mencionar que Linux también tiene un subsistema llamado Out-Of-Memory Killer (OOM), que en lugar de detener el kernel cuando se queda sin memoria, comenzará a eliminar procesos para liberar recursos. Sus acciones son configurables.

¿Cuánto espacio de intercambio debo asignar?

No existe una regla absoluta y dado que el espacio en el disco duro es barato (dólar por Gigabyte), es mejor asignar demasiado espacio que demasiado poco. Como regla general, debe tener dos o tres veces más espacio de intercambio que la memoria física.

Agregar intercambio sin expandir la partición de intercambio

Hay dos formas de agregar espacio de intercambio a un sistema sin alterar la partición de intercambio existente. Una forma es usar una partición de intercambio en otra unidad, la otra es usar un archivo de intercambio.

Para usar otro disco duro, cree una partición de tipo «Linux swap» (código 82) y luego ejecute el «mkswapComando para preparar el espacio de intercambio:

Dónde /dev/sdb2 es el nombre de la partición que creó. Para usar el espacio de intercambio inmediatamente use el «swapon» dominio:

Usar «swapon -s” para obtener una lista de los espacios de intercambio utilizados actualmente. Para agregar permanentemente el espacio de intercambio al sistema, deberá editar el /etc/fstab archivo y agregue una línea similar a esta:

/dev/sdb2       none    swap    sw      0       0

Si su sistema usa identificadores únicos para nombrar los discos, use el blkid Comando para obtener una lista de ID para los dispositivos. La línea para montar el espacio de intercambio en /etc/fstab entonces se vería algo como esto:

UUID=036da155-1ea1-4392-b8d4-700f65aa1ead  none  swap  sw  0  0

Para usar un archivo para intercambio, cree un archivo grande en blanco (usando dd) en el sistema de archivos que desea utilizar para el intercambio. Por ejemplo, para crear un archivo de 1 GB, escriba:

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

Dónde /store/swapfile es la ruta al archivo de intercambio en el sistema de archivos deseado.

Al igual que con la partición de intercambio adicional, el archivo ahora debe prepararse con mkswap y luego se usa con swapon. También hay que añadirlo a la /etc/fstab expediente. El procedimiento es exactamente el mismo que el anterior, pero necesita usar /store/swapfile más bien que /dev/sdb2 como el parámetro del espacio de intercambio.

intercambio

El kernel de Linux se puede modificar para definir la agresividad con la que debe intentar intercambiar procesos fuera de la memoria. Esta tendencia está controlada por una variable del kernel llamada swappiness. A swappiness de 0 significa que el kernel evitará el intercambio tanto como sea posible, mientras que 100 significa que el kernel será agresivo en la forma en que usa el espacio de intercambio. La configuración predeterminada para muchas distribuciones de Linux es 60. Es posible cambiar el número dinámicamente usando este comando:

sudo sysctl vm.swappiness=10

Para establecer un valor de forma permanente, debe cambiar (o agregar, si no existe) el vm.swappiness variables en el /etc/sysctl.conf expediente.

Háganos saber si tiene preguntas sobre el intercambio en Linux.

Este artículo se publicó por primera vez en diciembre de 2013 y se actualizó en agosto de 2020.

Credito de imagen: intercambio

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *