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

Cuando instale 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 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 que actúe 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 se vuelve a activar, 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 inicio del sistema, puede haber procesos que se ejecutan (y por lo tanto consumen memoria del sistema) pero que luego duermen de manera efectiva 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 máquinas que no tienen suficiente RAM física para que todo resida en la memoria, entonces 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 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:

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 expediente. 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 intercambiar procesos sin memoria. Esta tendencia está controlada por una variable del núcleo llamada swappiness. UNA 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 permanentemente un valor, debe cambiar (o agregar, si no existe) el vm.swappiness variable 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: intercambiar

Categorías PC