¿Es necesaria una partición swap en Linux?

¿Es necesaria una partición swap en Linux?

Una pregunta que se formula muy a menudo, sobre todo por los nuevos usuarios de GNU/Linux es: "¿Necesito una partición swap para instalar Linux?". Esta pregunta suele venir acompañada de otra: "¿Cuánta?".

Con este artículo pretendo explicar para qué se utiliza la partición swap en Linux y si es realmente necesaria en todos los casos.

La memoria, como casi todo en esta vida, es limitada. Al encender un ordenador tendremos disponible gran parte su memoria, ya que se supone que no hemos ejecutado ningún programa. Sólo se estarán ejecutando los procesos necesarios para poder hacer funcionar al sistema operativo y según vayamos utilizando el ordenador comenzaremos a abrir aplicaciones, como el navegador, el editor de documentos, Telegram, Skype y un largo etcétera. La memoria se va llenando más y más y el ordenador cada vez va más lento. Es lógico que no funcione tan bien como cuando no teníamos ninguna aplicación iniciada.

¿Qué pasa cuando ya no queda más memoria?

Si seguimos abriendo aplicaciones hasta el punto de llenar toda la memoria, no podremos ejecutar ninguna más. Será entonces cuando Linux comience a matar procesos y, no queremos eso.

Los procesos que matará Linux serán aquellos que no comprometan la estabilidad del sistema. Tiene prioridad aquello que hace funcionar el sistema operativo antes que Skype o el navegador. En este momento cedemos el control al sistema operativo para que gestione las tareas como él crea conveniente y por lo menos el equipo siga funcionando.

Memoria RAM + swap

El conjunto formado por la memoria RAM y la swap permite simular una RAM de mayor tamaño que la que hay instalada en un equipo. Esto tiene como ventaja que proporciona una memoria adicional que es a veces necesaria para continuar ejecutando procesos. Ya sabemos que Linux matará procesos cuando la memoria se acabe y no haya espacio para más.

Memoria swap

La memoria swap o de intercambio utiliza espacio en el disco duro en lugar de en el módulo de memoria RAM. La escritura en disco (al menos en los mecánicos) es lenta y el uso de esta memoria puede causar un descenso de rendimiento en el sistema. Por otra parte, es preferible que el ordenador vaya algo más lento a que empiece a cerrar programas.

Que haya asignado un espacio en disco para la memoria swap no quiere decir que tenga que utilizarse.

Obviamente, la memoria RAM es mucho más rápida, pero el uso de la swap es algo que puede salvarnos la vida en un determinado momento.

¿Necesitas memoria swap?

Si tienes una máquina con 1GB de RAM sí necesitas swap, aunque según el uso que le vayas a dar. Como ya he mencionado anteriormente, si se abren muchas aplicaciones el uso de la RAM crecerá y llegará un momento en el que la memoria se llene.

En el caso de que tengamos un servidor en producción, como puede ser el de Geeky Blogs, dependerá de la RAM que tenga la máquina. Un día tuvimos pico de visitas alto, se llenó la RAM y el sistema operativo acabó con el proceso de MySQL. Si en una web te quedas sin poder acceder a la base de datos, mal asunto.

En mi ordenador personal tengo 16GB de RAM, por lo que no necesito memoria swap. Con doble monitor, entornos de desarrollo abiertos, Spotify, navegadores, máquinas virtuales y varias cosas más, he llegado a usar 5GB de RAM como máximo. No se qué debería hacer para llenar los 16GB.

¿Cuánto espacio le asigno a la partición swap?

En caso de que sea necesaria, esto es lo que se recomienda para la swap:

  • 1 GB de RAM o menos: la misma cantidad para la swap.
  • Entre 2 GB y 4 GB de RAM: la mitad para la swap.
  • Más de 4 GB de RAM: 2 GB de swap.

Este tema es bastante controvertido en la comunidad Linux, así que os animo a dejar vuestros comentarios sobre si la swap es necesaria o no.