Drop_caches, limpia la memoria RAM en tu sistema desde la terminal

About drop_caches

En el siguiente artículo vamos a ver como limpiar la memoria RAM desde la terminal de Ubuntu. De forma predeterminada, Gnu/Linux tiene una forma muy eficiente de administrar la memoria RAM de nuestros equipos. Con ello obtenemos un mejor rendimiento de los recursos disponibles en nuestro sistema. Este enfoque a veces puede confundir a los usuarios ya que la RAM parece completamente devorada a pesar de cerrar todas las aplicaciones.

Gnu/Linux utiliza la memoria disponible para almacenar en caché las aplicaciones desde la unidad de disco duro, con el objetivo de lograr tiempos de lectura más rápidos. Esta ventaja se convierte en una experiencia frustrante, especialmente para los administradores de sistemas que están solucionando problemas en el PC. Es posible que los cambios aplicados a los archivos del sistema en el disco duro no se lean. Esto ocurre porque Gnu/Linux los está cargando desde la RAM. Por lo tanto, para solucionar este problema, es una buena idea limpiar la memoria RAM en lugar de reiniciar el PC.

Limpia la memoria RAM en Ubuntu, Linux Mint y derivados con drop_caches

Vamos a iniciar la terminal (Ctrl+Alt+T) y escribimos los siguientes comandos:

drop_caches ejecutado en la terminal

sudo su

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

Para empezar nos logueamos como root. A continuación, el comando ‘sync‘ va a limpiar el búfer del sistema de archivos. De esta manera, estaremos seguros de que todos los objetos que están cacheados se liberan. De otra forma podría haber problemas. El comando ‘echo‘ hace el trabajo de escribir en el archivo y drop_caches está borrando el caché sin eliminar ninguna aplicación/servicio. Deberías ver inmediatamente que la RAM se libera.

Si tienes que borrar la caché de disco, “… echo > 3 …” es más seguro en una empresa y en equipos en fase de producción ya que «… echo 1 > ….» borrará solo la página. No se recomienda utilizar la tercera opción «… echo 3 >…» en producción hasta que sepas lo que estás haciendo, ya que borrará la caché de página, las dentries y los inodos. La opción «… echo 0 > …» no va a liberar nada, y la opción «… echo 2 > …» liberará solo inodos y dentries.

Esta operación puede ralentizar el sistema durante unos segundos, mientras se limpia el caché y todos los recursos requeridos por el SO se cargan nuevamente en el caché de disco.

Gnu/Linux está diseñado de tal manera que examina la memoria caché de disco antes de buscar en el disco. Si encuentra el recurso en la memoria caché, entonces la solicitud no llegará al disco. Si limpiamos la memoria caché, el sistema operativo pasará  a buscar el recurso solicitado en el disco.

Automatiza la liberación de RAM utilizando tareas Cron

Ahora que ya sabemos cómo liberar memoria en nuestros equipo, es posible que queramos automatizar el proceso de borrado de memoria con cierta frecuencia. Esto se puede hacer fácilmente mediante tareas cron. Esta tarea se debe utilizar solo en equipos de escritorio y portátiles.

PASO 1

Para empezar, iniciaremos la terminal (Ctrl+Alt+T) y escribiremos el siguiente comando para instalar vim, o que cada uno utilice su editor preferido:

sudo apt-get install vim

PASO 2

Ahora vamos a crear un archivo .sh llamado borraram.sh. En el, agregaremos el script:

vim borraram.sh

PASO 3

drop_caches vim

Si utilizamos el editor vim, tendremos que presionar la tecla ‘esc’ y después la tecla ‘i’ para entrar en el modo INSERTAR. A continuación, agregaremos la siguiente secuencia de comandos.

#!/bin/bash
sync
echo "echo 3 > /proc/sys/vm/drop_caches"

La primera línea a continuación es el Shebang. Después escribiremos el mismo comando que utilizamos para borrar la RAM desde la terminal.

Una vez escrito todo, guardamos el archivo sh y saldremos del editor de texto vim. Para hacer esto pulsaremos ‘esc’ escribiremos :wq y presionaremos Intro. Vim guardará el archivo sh y saldrá a la terminal. Para este ejemplo he guardado el script dentro de una carpeta de la home de root.

PASO 4

De vuelta en la terminal, escribiremos el siguiente comando para otorgar permisos de lectura/escritura:

sudo chmod 755 borraram.sh

PASO 5

Ahora es hora de llamar al comando crontab:

sudo crontab -e

PASO 6

tarea cron drop_caches

Supongamos que queremos borrar la RAM todos los días a la 1 P.M. Esto es al gusto de cada uno.

0 13 * * * /root/scripts/borraram.sh

El archivo sh, podremos moverlo a la ubicación que queramos, pero hay que recordar la ruta ya que esa es la que tendremos que darle al comando anterior.


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.   Ricardo Melgoza dijo

    Rosita Melgoza mira para que vayas viendo que te conviene. Pregunta a tu maestro que S.O. Vas a instalar

  2.   Syslog dijo

    Este post deberia ser borrado, contiene mucha información incorrecta e imprecisa. No es recomendable borrar la cache de disco, eso no ayuda en nada a un usuario final. También es mentira que «esta ventaja se convierte en una experiencia frustrante, especialmente para los administradores de sistemas que están solucionando problemas en el PC», porque??? Tampoco se explica porque haces un sync,… es un articulo que confunde y erroneo.