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

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

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

 Limpiar la memoria caché de RAM e intercambiar en Linux  Borrar caché de RAM y Swap en Linux

¿Cómo borrar la caché en Linux?

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

1.. Solo borrar PageCache.

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

2.. Limpiar dentries e inodos.

# sync; echo 2>/proc/sys/vm/drop_caches freestar.config.enabled_slots.push

3.. Borrar PageCache, dentries e inodos.

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

Explicación del comando anterior.

sync. vaciará el búfer del sistema de archivos. Comando separado por “;” ejecutar secuencialmente. El shell espera a que termine cada comando antes de ejecutar el siguiente comando de la secuencia. 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é de disco, el primer comando es más seguro en empresas y producción como “… echo 1> …”. solo borrará PageCache. No se recomienda utilizar la tercera opción sobre “… echo 3>” en producción hasta que sepa lo que está haciendo, ya que borrará PageCache. dentries. y inodos.

¿Es una buena idea liberar Buffer y Cache en Linux que podría ser usado por Linux Kernel?

Cuando está aplicando varias configuraciones y desea verificar, si realmente está implementado especialmente en pruebas comparativas extensivas de E/S, es posible que deba borrar la memoria caché del búfer. Puede eliminar el caché como se explicó anteriormente sin reiniciar el sistema, es decir, no se requiere tiempo de inactividad.

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

Además, también ralentizará el sistema durante unos segundos mientras se limpia la caché y cada El recurso requerido por el sistema operativo se carga nuevamente en el caché del disco.

Ahora crearemos un script de shell para borrar automáticamente el caché de RAM diariamente a las 2 am. mediante una tarea del programador cron. Cree un script de shell clearcache.sh. y agregue las siguientes líneas.

#!/Bin/bash # Nota, estamos usando “echo 3”, pero no se recomienda en producción en su lugar usar “echo 1” echo “echo 3>/proc/sys/vm/drop_caches”

Establezca el permiso de ejecución en el archivo clearcache.sh.

# chmod 755 clearcache.sh

Ahora puede llamar al script cada vez que necesite borrar la memoria caché de la RAM.

Ahora configure un cron para borrar la memoria caché de la RAM todos los días a las 2 am. Abra crontab. para editar.

# crontab-e

Agregue la siguiente línea, guárdela y salga para ejecutarla a las 2 a. M.. todos los días.

0 2 * * */path/to/clearcache.sh

Para obtener más detalles sobre cómo cron un trabajo, puede consultar nuestro artículo sobre 11 trabajos de programación Cron.

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

¡No! No lo es. Piense en una situación en la que haya programado la secuencia de comandos para borrar la memoria caché de RAM todos los días a las 2 a. M.. Todos los días a las 2 a. M., Se ejecuta el script y vacía la memoria caché de la RAM. Un día, por cualquier motivo, puede ser que más de los usuarios esperados estén en línea en su sitio web y busquen recursos en su servidor.

Al mismo tiempo, el script programado se ejecuta y borra todo el caché. Ahora todos los usuarios están recuperando datos del disco. Dará como resultado un bloqueo del servidor y dañará la base de datos. Por lo tanto, limpie la memoria caché de memoria ram solo cuando sea necesario y conozca sus pasos, de lo contrario, será un administrador del sistema Cargo Cult.

¿Cómo limpiar el espacio de intercambio en Linux?

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

# swapoff-a && swapon-a

También puede agregar el comando anterior a un script cron anterior, después de comprender todo el riesgo asociado.

Ahora combinaremos los dos comandos anteriores en un solo comando para crear un script adecuado para borrar la memoria 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 and Swap Cleared’ OR $ su-c “echo 3> ‘/proc/sys/vm/drop_caches’ && swapoff-a && swapon-a && printf ‘\ n% s \ n’ ‘Ram-cache and Swap Cleared’ “root

Después de probar los dos comandos anteriores, ejecutaremos el comando“ free-h. ” antes y después de ejecutar el script y comprobará la caché.

 Cl ear RAM Cache and Swap Space  Clear RAM Cache and Swap Space

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