viernes, 13 de mayo de 2011

Liberar Memoria caché en GNU/linux y como funciona.

Previamente a indicar como limpiar caché, es importante saber como un sistema GNU/Linux hace uso de la memoria dentro del equipo:

Memoria Física: Memoria RAM del equipo.
En uso: Memoria utilizada por procesos actualmente en ejecución.
En buffer: Es la que almacena datos pendientes a ser escritos en el disco duro.
En caché: Guarda la información generada o que se requiere por las últimas aplicaciones que se estuvieron ejecutando por si es que se vuelven a ocupar o requerir en un corto plazo.
Libre: Memoria sin uso que puede ser usada por nuevos procesos o algún proceso que la requiera.
Swap: Memoria de intercambio, es decir memoria física ocupada como RAM en el equipo.

Con el objetivo de cómo está siendo utilizada la memoria RAM de nuestro equipo, podemos hacer uso del comando free.

1:Para ésto abrimos un terminal escribimos lo siguiente:
root@debian:~# free -m

Ejemplo de como funciona: Memoria RAM del equipo.

Cargamos 2 aplicaciones la primera ocupa unos 200mb y la segunda unos 100mb, en GNU/Linux el sistema deja guardados en el caché de la memoria las aplicaciones que carga la primera vez, como se ve esto,porque la primera vez que abrimos un programa su carga es muy lenta a diferencia de la segunda vez que se demora mucho menos ya que dicho programa está en el caché de la memoria.
La memoria caché se libera sola pero si queremos limpiarla ya que tenemos muchos programas que cargamos una sola vez y no los necesitamos denuevo existen los siguientes comandos.

0:No libera nada:
root@debian:~# echo 0 > /proc/sys/vm/drop_caches

1:Libera la pagecache:
root@debian:~# echo 1 > /proc/sys/vm/drop_caches

2:Libera
inodos y dentries:
root@debian:~# echo 2 > /proc/sys/vm/drop_caches

3:Libera pagecache, inodos y dentries:
root@debian:~# echo 3 > /proc/sys/vm/drop_caches

1 comentario:

Ufn dijo...

Muy bien explicado, tengo un sitio auto-alojado con un servidor de muy pocos recursos...Pentium III a 450 mhz yy 512 Mb de RAM...generalmente si llegan visitas anda en 450 mb, y tu artículo me sirvió para (con la ayuda de crontab) liberar memoria periódicamente
Saludos