Cómo borrar el caché de memoria RAM, el búfer y la Swap en Linux

Published:

Hoy veremos como podemos hacer para liberar los recursos, puntualmente de memoria ram, temas de búfer y swap, dado que a veces algunas aplicaciones pueden consumir todo pero no la liberan.

1. Limpiar solo la PageCache.

sync; echo 1 > /proc/sys/vm/drop_caches

2. Liberar dentries e inodos.

sync; echo 2 > /proc/sys/vm/drop_caches

3. Limpiar pagecache, dentries, e inodos.

sync; echo 3 > /proc/sys/vm/drop_caches

Explicación de los comandos

sync vaciará el búfer del sistema de archivos. Utilizaremos  un; para que se ejecute otro comando al terminar el primero. Como se menciona en la documentación del kernel, escribir en drop_cache limpiará el caché sin matar ninguna aplicación/servicio, el comando echo está haciendo el trabajo de escribir en el archivo.

Si tiene que borrar el caché del disco, el primer comando es más seguro pensado justamente para producción, ya que solo “...echo 1 > ….”borrará el PageCache . Mientras que la tercera opción “...echo 3 >”es un poco más agresiva, ya que borrará todo tanto el cachélas dentries y los inodos.

4. Liberar la memoria SWAP

swapoff -a ; swapon -a

Tener en cuenta que para realizar este proceso se debe contar con memoria ram libre, por eso usaremos primeramente las opciones anteriores y luego podremos combinar liberando la swap. Hasta podríamos lograr un pequeño script que haga esto por nosotros.

Esto nos permitirá liberar los recursos de nuestro sistema linux y por supuesto verificarlo con el comando free o top.

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles