Liberar la Swap (memoria de intercambio) en Linux desde la terminal

Todos los ordenadores cuentan con memoria RAM, el cual es un componente vital para su funcionamiento. Ésta puede ser de distintas velocidades, funcionar con más o menos latencia y tener diferente capacidad. Los sistemas operativos demandan de una cantidad de memoria dependiendo de los programas que tenga instalados por defecto, su entorno gráfico, efectos etc.

Es por ello que a la hora de descargar una distribución, entre los requisitos mínimos se encuentra una cierta cantidad de memoria RAM, para asegurar que el sistema va a funcionar correctamente con los programas que tiene ya instalados, lo que no asegura que vaya a hacerlo con aplicaciones más pesadas.

Por ejemplo, Ubuntu, una de las distribuciones más descargadas, requiere 4GB de RAM para funcionar de forma idónea (1GB cuando se hizo este tutorial por primera vez). De lo contrario, lo más probable es que el sistema empiece a llenar la memoria Swap cuando hayamos consumido toda la memoria ram, y se ralentice todo el sistema.

Qué ocurre cuando la memoria RAM se llena?

Cuando las aplicaciones llenan la memoria RAM, éstas empezarán a usar la memoria Swap, la cual es mucho más lenta, ya que depende de nuestro disco duro o SSD, el cual es mucho más lento. Además, escribir constantemente sobre un disco SSD, sobretodo los de primera generación, puede hacer que se reduzca ligeramente su vida útil.

En ordenadores con muy poca memoria RAM, es posible que esta memoria de intercambio se use más frecuentemente, sobretodo si hemos instalado un sistema que emplea demasiados recursos. Sin embargo, si disponemos de una memoria RAM superior a 8GB, es muy posible que el sistema nunca haga uso de ella.

El tamaño de la memoria Swap

Cuando se instala una distribución Linux, se suele crear automáticamente una partición o un fichero que es un área de intercambio. Por el contrario, si usamos el instalador avanzado, o usamos la terminal para instalar una distribución, debemos saber que podemos crear una partición swap manualmente. Esta partición debe de ser aproximadamente del tamaño del 20% del total de memoria RAM que dispongamos en el ordenador.

Por ejemplo, si disponemos de un total de 8GB de RAM, el tamaño de la memoria Swap debe de ser de unos 2GB. Podemos incrementar o reducir este tamaño y ponerlo como queramos, incluso podemos prescindir de ella, aunque no es aconsejable. Esto está explicado en el tutorial sobre cómo crear particiones separadas.

Liberar la Swap desde la terminal

Hemos comentado que, cuando el sistema se queda sin memoria RAM disponible, empieza a usar la Swap. Existen comandos en la terminal los cuales nos permiten ver la cantidad de memoria de intercambio que se está empleando. Podemos limpiar esta memoria de intercambio en uso, ya que por defecto no se suele limpiar a menos que reiniciemos el equipo.

Liberar la memoria Swap es útil para que los procesos que hacen uso de la misma dejen de hacerlo, y por lo tanto, funcionen de forma óptima usando la memoria RAM. Sin embargo, si el sistema suele usar la memoria Swap frecuentemente, es posible que estemos usando un sistema o aplicaciones que consumen demasiados recursos, o puede que el equipo no cuente con la suficiente memoria RAM que debería.

Para ver la cantidad de memoria Swap que se está utilizando, podemos emplear el siguiente comando:

cat /proc/swaps

El cual nos devolverá un resultado como el siguiente:

Aquí, podemos ver que /dev/sda2 es la partición donde se encuentra la memoria Swap. En size se muestra el tamaño total asignado, en nuestro caso son 8GB, y en Used se muestra el uso de esta memoria.

Para poder liberar esta memoria Swap, tenemos que ejecutar el siguiente comando:

sudo swapoff -a && swapon -a

Entonces, veremos cómo «Used» estará en 0, es decir, no estará consumiendo espacio en esta memoria.

Conclusiones

A pesar de que los equipos modernos cuenten cada vez con más memoria RAM y el software libre cada vez es más eficiente, es posible que en muchas ocasiones esta memoria de intercambio se utilice. Por ejemplo, máquinas virtuales, IDE de programación pesados como Eclipse o IntelliJ emplean mucha memoria.

Si te ha gustado el artículo, no dudes en enviar tus opiniones a través de los comentarios.

6 comentarios en «Liberar la Swap (memoria de intercambio) en Linux desde la terminal»

  1. Ya sé que se pueden hacer las particiones del disco duro, pero yo el ordenador lo uso para trabajar y tengo los programas pertinentes para ello que pesan lo suficiente para no poder hacer la partición del disco duro. Ya lo probé, lo he intentado y normalmente es lo que hacemos al tener un Mac, pero estudiando lo que estudio y trabajando en lo que trabajo es un poco difícil que el ordenador tenga capacidad suficiente para albergar dos sistemas operativos.

  2. me ha servido de mucho, ya que en ocasiones cuando ejecuto varias maquinas virtuales la memoria RAM se llena por poco tiempo, utilizando la memoria Swap, pero esta no se libera de forma automática.

  3. Y en el caso de que es un servidor, que no puedo o mejor dicho no deberia reiniciarlo, y los procesos que corren en la swap si aplico el comando puedo matar procesos que pueden afectar data de la empresa, ¿como se pudiera liberar la swap por procesos? es decir matando los procesos que se que no comprometerian la data de la empresa.

    Gracias.

  4. Mi computadora tiene 3 gb que se instala automáticamente bloquea el CDROM y no permite se use evita se instalen los módulos del kernel utilice el comando sudo swapoff -a && swapon -a y no permite la operación (swapon: cannot open /swap/swap: Permisión denied ) como eliminar este bug

Deja una respuesta

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