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

Cuando instale Linux, el proceso de instalació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 y es realmente necesaria?

¿Qué es swap?

Cuando un sistema operativo multitarea se queda sin memoria física, no puede iniciar nuevos procesos o 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 actuar como un área de almacenamiento 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 vuelva a estar activo, se volverá a intercambiar 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 las soluciones integradas, Linux se puede ejecutar sin intercambio. Si el sistema operativo entra 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? Si. 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 ejecutan (y por lo tanto consumen memoria del sistema) pero que luego duermen efectivamente durante períodos de tiempo muy largos. O memoria que se asigna, se escribe y luego no se vuelve a utilizar. En estas situaciones, el algoritmo de intercambio comenzará a migrar esta memoria al disco duro y liberará así una valiosa memoria del sistema. De hecho, esto asegura que la cantidad máxima de RAM esté disponible en todo momento y, por lo tanto, aumenta el rendimiento.

intercambio-partición-en-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 los 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 que muy poco espacio. Como regla general, debe tener dos o tres veces la cantidad de 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 “mkswap“Comando para preparar el espacio de intercambio:

Dónde /dev/sdb2 es el nombre de la partición que creó. Para utilizar el espacio de intercambio utilice inmediatamente el “swapon“Comando:

Utilizar “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:

Si su sistema utiliza identificadores únicos para nombrar los discos, utilice la blkid comando para obtener una lista de identificadores para los dispositivos. La línea para montar el espacio de intercambio en /etc/fstab entonces se vería así:

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

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 debe agregarse al /etc/fstab archivo. El procedimiento es exactamente el mismo que el anterior, pero debe utilizar /store/swapfile más bien que /dev/sdb2 como parámetro de espacio de intercambio.

Swappiness

El kernel de Linux se puede modificar para definir qué tan agresivamente debe intentar cambiar los procesos de la memoria. Esta tendencia está controlada por una variable del núcleo llamada swappiness. UN 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:

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

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

Credito de imagen: intercambiar

¿Es útil este artículo?

¡Compártelo en tus redes sociales!

Deja una respuesta

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