Cómo liberar memoria RAM en Ubuntu

Liberar memoria RAM en Ubuntu

Siempre se ha dicho que la memoria RAM está para utilizarla. Claro está, esto es válido cuando tenemos un equipo con suficiente memoria como para no estar mirando qué pasa con ella. Cuando vamos un poco más justos, merece la pena cuidarla un poco, en el sentido de que hay que vigilar cuánta tenemos ocupada y, siempre que se pueda, hacer que nuestro equipo pueda coger un poco de aire.

Algunas veces, el sistema no libera memoria RAM que ya no está siendo utilizada y aunque es liberada bajo demanda —por llamarle de alguna manera— cuando abrimos un nuevo programa, se puede liberar también de manera manual introduciendo un simple comando en nuestra consola. En teoría, este comportamiento es habitual en casi todos los sistemas operativos, y tiene un sentido: poder ir más rápido cuando queramos volver a acceder a algo que acabamos de usar.

Averiguar cuánta está en uso para luego liberar memoria RAM

Antes que nada, para saber cuánta memoria está en uso, cuánta está libre y cuánta está guardada en el caché ejecutamos el comando:

free -m

Para ver el uso en tiempo real utilizamos:

watch -n 1 free -m

El primer comando nos devolverá algo similar a lo que vemos en la captura de cabecera, mientras con el segundo veremos algo muy parecido, pero que se moverá en tiempo real.

Como se puede observar, hay una gran cantidad de memoria en caché, de la cual aproximadamente la mitad está siendo utilizada por las aplicaciones abiertas. Para liberar páginas guardadas en el caché, inodos y entradas de directorio, basta con ejecutar el comando:

sudo sync

Seguido de:

sudo sysctl -w vm.drop_caches=3

Es importante no olvidar ejecutar «sudo sync», o  de lo contrario podríamos perder información presente en la memoria RAM que aún no ha sido guardada en el disco duro.

Cerrando procesos innecesarios

Ubuntu, y Linux en general, gestionan bastante bien la memoria RAM, por lo que no suele ser necesario hacer nada de lo anterior. Puede ser diferente si el sistema operativo no sabe qué hacer con una fuerte carga de trabajo. Es decir, cuando tenemos muchos programas abiertos, el sistema operativo no puede o no es quién para decidir qué hacer con cada uno de ellos, e intenta moverlos como puede. Si no hay memoria RAM, es probable que «decida», por su cuenta, cerrar algún programa, pero esto puede hacer que perdamos algo de información.

Por lo tanto, y como en tantas ocasiones, lo mejor para gestionar la memoria RAM es la cabeza. Si tenemos un equipo con al menos 16GB de RAM, rara vez nos quedaremos sin memoria si hacemos en un uso normal, pero con 4 o menos, la cosa es diferente. En esos casos, lo mejor es tener abierto sólo lo necesario.

Si notamos que el equipo se resiente, podemos abrir el gestor de tareas y ver qué está pasando:

Monitor del sistema de Ubuntu

En el monitor del sistema, una herramienta gráfica (GUI) que nos muestra información similar a la de htop, veremos todos los procesos que hay abiertos. Podemos ordenarlos por nombre, por usuario, uso de CPU o de la RAM, entre otras. Si notamos que nuestro equipo va lento o le cuesta trabajar, nos interesa ordenar los procesos por uso del procesador (% CPU) o RAM (Memoria). Si sabemos qué hace un proceso que está consumiendo muchos recursos, podemos hacer clic secundario sobre él y elegir la opción «Matar». Claro está, guardando antes todos los cambios importantes.

Si se mira mucho la información que ofrecen el monitor del sistema o htop, entre otros, aprenderemos qué consume más. Desde aquí, una recomendación para los propietarios de un equipo de bajos recursos es que tengan bien controlado al navegador web. Aunque se puede usar para hacer de todo y hoy en día es una de las mejores herramientas de trabajo, también pueden tener muchos procesos abiertos que pueden dejar con la lengua fuera a nuestro ordenador. Por lo tanto, merece la pena no tener muchas pestañas abiertas si no son necesarias, e incluso cerrar el navegador en su totalidad.

La RAM está para usarla, pero no para desperdiciarla ni que nos haga sufrir.

Más información – Revisa la temperatura de tu ordenador con el comando ‘sensors’


10 comentarios, deja el tuyo

Deja tu comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Miquel Mayol i Tur dijo

    Hay un script de elatareao que se puede encontrar en su página llamado freecache.py que libera la cache en caso de ocupar el 90% de RAM.

    http://www.atareao.es/descargas/scripts/

  2.   Cristian Yones dijo

    Y que se gana liberando la memoria que se usa para cache? Obligamos a la maquina a volver a leer del disco muchas cosas que ya tenia en memoria. La maquina va a andar mas lenta hasta que se vuelva a llenar la cache…

  3.   Santiago José López Borrazás dijo

    No os deis tanto en la cabeza. El kernel de Linux se encarga de liberar esa memoria que queda. No veo ningún sentido.
    Yo no uso ni siquiera esa implementación, porque de hecho, tal como dice Cristian Yones, mejor que no se use eso, porque acabaréis re-escribiendo tanto tiempo el disco duro.
    Es mejor tenerlo tal como hemos dicho. No tocar nada.
    Saludos…

  4.   Mario Arleth Orozco Gil dijo

    En mi caso si funcionó perfectamente. Ya que tengo un servidor con asterisk en el cual se realizan llamadas. Se me había consumido casi 16 gigas de ram de las 16 disponibles y se me estaba subiendo la carga. Al correr el procedimiento, me liberó la memoria y quedó en un promedio de 5gb consumidas permitiendo al sistema contar con memoria ram disponible para cualquier tarea y mejorar el rendimiento de la máquina. Gracias por la solución. Tal vez como dice santiago, no siempre es útil, pero en mi caso si lo fue.

  5.   gastonadonay dijo

    Genial solución, sobretodo si deseamos copiar archivos que pesan 5, 10, 20, 30 GB, …
    Muchas gracias y saludos

  6.   Manuel Muñiz Lago dijo

    Me ha servido, gracias.

  7.   barinascode dijo

    Siempre me sirve, ya que hago pruebas en servers virtuales con 500 mb de ram

  8.   Javier Renteria dijo

    bueno… por lo que entiendo mas sirve para cuando se va a trabajar con archivos grandes…
    en mi caso no es necesario.. de igual forma gracias por compartir

  9.   Pablo chivel dijo

    Hola a mi no me anda el comando 1 que hago?

  10.   Pablo chivel dijo

    Hola a mi no me anda el primer comando