Cómo borrar la memoria caché de memoria RAM, buffer y intercambio de espacio en Linux

Cómo borrar la memoria caché de memoria RAM, buffer y intercambio de espacio en Linux

Al igual que cualquier otro sistema operativo, GNU/Linux ha implementado la gestión de la memoria de manera eficiente e incluso más que eso. Pero si algún proceso está comiendo su memoria y desea borrarla, Linux proporciona una forma de enjuagar o borrar el caché de RAM.

  • Encuentre los 15 procesos principales por uso de la memoria en Linux
  • Encuentre los procesos de ejecución superior por el uso de memoria y CPU más alto en Linux
  • Cómo limitar el uso del tiempo y la memoria de los procesos en Linux

Cómo borrar el caché en Linux?

Cada sistema de Linux tiene tres opciones para borrar el caché sin interrumpir ningún proceso o servicio.

1. Solo pagecache.

# sincronización; echo 1>/proc/sys/vm/drop_caches 

2. Dentrías e inodes claros.

# sincronización; echo 2>/proc/sys/vm/drop_caches 

3. PageCache, dentrias e inodos claros.

# sincronización; echo 3>/proc/sys/vm/drop_caches 

Explicación del comando anterior.

sincronización Ajustará el búfer del sistema de archivos. Comando separado por ";" Ejecutar secuencialmente. El shell espera a que cada comando termine antes de ejecutar el siguiente comando en la secuencia. Como se menciona en la documentación del núcleo, escribiendo a drop_cache limpiará la memoria caché sin matar ninguna aplicación/servicio, comando echo está haciendo el trabajo de escribir en el archivo.

Si tiene que borrar el caché de disco, el primer comando es más seguro en la empresa y la producción como "... Echo 1> .. ." borrará el Pagecacha solo. No se recomienda usar la tercera opción anterior "... Echo 3>" en producción hasta que sepa lo que está haciendo, como se aclarará pagecacha, dentrias, y inodos.

¿Es una buena idea buffer y caché gratis en Linux que podría ser utilizado por Linux Kernel??

Búfer y caché gratis en Linux

Cuando aplica varias configuraciones y desea verificar, si realmente se implementa especialmente en el punto de referencia de E/S-Extensivo, es posible que deba borrar el caché del búfer. Puede dejar caer el caché como se explicó anteriormente sin reiniciar el sistema I.mi., No se requiere tiempo de inactividad.

Linux está diseñado de tal manera que mira el caché de disco antes de mirar el disco. Si encuentra el recurso en el caché, entonces la solicitud no llega al disco. Si limpiamos el caché, el caché de disco será menos útil ya que el sistema operativo buscará el recurso en el disco.

Además, también retrasará el sistema durante unos segundos, mientras que el caché se limpia y cada recurso requerido por el sistema operativo se carga nuevamente en el caché de disco.

Ahora crearemos un script de shell para borrar automáticamente la caché de Ram diariamente en 2 am a través de una tarea de programador de Cron. Crear un script de shell limpiar cache.mierda y agregue las siguientes líneas.

#!/bin/bash # nota, estamos usando "Echo 3", pero no se recomienda en producción, en su lugar, use "echo 1" echo "echo 3>/proc/sys/vm/drop_caches" 

Establecer permiso de ejecutar en el limpiar cache.mierda archivo.

# CHMOD 755 ClearCache.mierda 

Ahora puede llamar al script siempre que sea necesario que borre el caché de RAM.

Ahora configure un cron para borrar el caché de Ram todos los días a las 2 am. Abierto crontabista para editar.

# crontab -e 

Agregue la línea a continuación, guarde y salga para ejecutarla en 2 am a diario.

0 2 * * */ruta/a/clearCache.mierda 

Para obtener más detalles sobre cómo cerrar un trabajo, es posible que desee consultar nuestro artículo en 11 trabajos de programación de Cron.

¿Es una buena idea borrar automáticamente el caché de RAM en el servidor de producción??

Borrar el caché de RAM en el servidor de producción de Linux?

No! No lo es. Piense en una situación en la que haya programado el script para despejar el caché de Ram todos los días en 2 am. Todos los días a las 2 am se ejecuta el script y se descarga tu caché de ram. Un día por cualquier razón puede ser más de lo esperado, los usuarios están en línea en su sitio web y buscan recursos desde su servidor.

Al mismo tiempo, el script programado se ejecuta y borra todo en el caché. Ahora todos los usuarios están obteniendo datos del disco. Dará como resultado un bloqueo de servidor y corromperá la base de datos. Así que borre el cache RAM solo cuando sea necesario, y conozca sus pasos, de lo contrario, es un administrador del sistema de culto de carga.

Cómo limpiar el espacio de intercambio en Linux?

Si desea borrar espacio de intercambio, puede que desee ejecutar el siguiente comando.

# swapoff -a && swapon -a 

Además, puede agregar el comando anterior a un script cron anterior, después de comprender todos los riesgos asociados.

Ahora combinaremos ambos comandos anteriores en un solo comando para hacer un script adecuado para borrar el caché de RAM y el espacio de intercambio.

# echo 3>/proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\ n%s \ n "ram -cache y intercambio bordeado' o $ su -c" echo 3> '/proc/ sys/vm/drop_caches '&& swapoff -a && swapon -a && printf' \ n%s \ n "ram -cache y intercambio bordeado '" root 

Después de probar ambos comandos anteriores, ejecutaremos el comando "GRATIS -H"Antes y después de ejecutar el script y verificará el caché.

Eso es todo por ahora, si le gustó el artículo, no olvide proporcionarnos sus valiosos comentarios en los comentarios para informarnos, lo que cree que es una buena idea para borrar el caché y el búfer de RAM en la producción y la empresa?