GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo borrar la caché de memoria en Linux

A veces, el sistema se queda sin memoria debido a que los objetos almacenados en caché utilizan una gran cantidad de RAM. En esos casos, necesita aumentar la memoria física en el sistema o agregar más espacio de intercambio. También puede indicarle al kernel que borre la caché de la memoria RAM en el sistema agregando un número en /proc/sys/vm/drop_caches archivo.

Es seguro, pero no recomendado, borrar la memoria caché en un sistema Linux. Borrar la memoria caché en los sistemas Linux ralentiza el rendimiento del sistema, ya que la lectura de archivos de la memoria es mucho más rápida que la del disco persistente. Dado que descarta los objetos almacenados en caché de la memoria, puede costar una cantidad significativa de E/S y CPU recrear los objetos eliminados. Este tutorial lo ayudará a borrar la memoria caché en el sistema Linux/Unix a través de la línea de comandos.

Cómo borrar la caché de memoria en Linux

Hay tres opciones disponibles para borrar la memoria caché en Linux. Elija una de las siguientes opciones para vaciar la memoria caché del sistema Linux según sus requisitos.

  • Borrar PageCache, dentries e inodos en la memoria caché. En resumen, borrará todo el caché de memoria:
    sync; echo 3 | sudo tee /proc/sys/vm/drop_caches 
    
  • Borrar dentries e inodos solo en la memoria caché
    sync; echo 2 | sudo tee /proc/sys/vm/drop_caches 
    
  • Borrar el caché de la página solo en la memoria caché
    sync; echo 1 | sudo tee /proc/sys/vm/drop_caches 
    

Aquí el primer comando sync se utiliza para sincronizar todos los archivos de caché en memoria con el almacenamiento persistente. El siguiente comando se separa con un “;”. Una vez que se completa el primer comando, se activará el siguiente comando para borrar la memoria caché.

Programar el borrado de caché de memoria con Crontab

También puede programar un trabajo de maíz para borrar el caché de forma regular. Programe lo siguiente en crontab del sistema para vaciar automáticamente la memoria caché a intervalos regulares.

Abra una terminal y ejecute el comando 'crontab -e' para editar crontab:

crontab -e 

Agregue la siguiente entrada al archivo:

0 10 * *  * sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

El cron anterior se ejecutará cada hora y vaciará la memoria caché de su sistema.

En los servidores de producción, no se recomienda programar un comando de borrado de caché. Puede conducir a la corrupción de datos o la pérdida de datos. Así que tenga cuidado antes de ejecutar el comando anterior en un entorno de producción.

Cómo encontrar memoria caché en Linux

Usar gratis Comando para averiguar los usos de la memoria caché por parte del sistema Linux. El resultado del comando gratuito es como el siguiente

free -m 
Output 
             total       used       free     shared    buffers     cached
Mem:         16050      15908        142          0        120      12953
-/+ buffers/cache:        834      15216
Swap:            0          0          0

Aquí, la última columna muestra la memoria caché (12953 MB) en el sistema Linux. La -m La opción se utiliza para mostrar los MB de salida.


Linux
  1. Cómo borrar el historial de Bash en Linux

  2. Cómo borrar la memoria caché del navegador web desde la línea de comandos en Linux

  3. Cómo eliminar búferes de memoria y caché en Linux

  4. Cómo borrar el búfer/pagecache (caché de disco) en Linux

  5. Cómo encontrar el uso de la memoria del usuario en Linux

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

Cómo deshabilitar permanentemente el intercambio en Linux

Cómo vaciar la caché de DNS en Linux

¿Cómo funciona el intercambio de memoria en Linux?

Cómo borrar la caché de DNS en Ubuntu

¿Cómo vaciar la caché de DNS en Linux?