Cómo liberar memoria RAM en Ubuntu

Memoria RAM Ubuntu

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.

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

Cualquiera de los dos comandos nos devolverá algo similar a esto:

             total   used   free  shared  buffers  cached
Mem:          3990   3784    206       0       56    2443
-/+ buffers/cache:   1284   2705
Swap:         1027      0   1026

Como se puede observar hay una gran cantidad de memoria en el 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

pues de lo contrario podríamos perder información presente en la memoria RAM que aún no ha sido guardada en el disco duro.

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


Categorías

Ubuntu

Francisco J.

Entusiasta del software libre y de código abierto, siempre sin tocar extremos. No he usado desde hace varios años un ordenador cuyo sistema operativo no sea Linux y cuyo entorno de escritorio no sea KDE, aunque mantengo la mirada en las distintas alternativas. Puedes contactarme enviando un correo a fco.ubunlog(at)gmail.com

8 comentarios

  1. 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. 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. 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

Escribe un comentario