Cómo liberar búferes y cachés de Linux

Cómo liberar búferes y cachés de Linux

Los usuarios pueden querer liberar espacio en el búfer y caché de Linux si creen que está ocupando demasiado espacio en la RAM. Por lo general, esto se debe a que están acostumbrados a entornos Windows o Macintosh que no almacenan en caché de manera tan agresiva. Hacer esto puede reducir el rendimiento. Sin embargo, es una buena idea sincronizar la RAM y el almacenamiento en disco, que a menudo también se considera que libera la memoria caché de Linux, aunque no es desde un punto de vista muy técnico.

Deberá trabajar desde una terminal para esta técnica. Busque la terminal en Ubuntu Dash o mantenga presionadas las teclas Ctrl, Alt y T al mismo tiempo. Los usuarios de LXDE, Xfce4 y KDE pueden querer hacer clic en el menú Aplicaciones o Bigote, apuntar a Herramientas del sistema y abrir Terminal.

Método 1: uso del comando de sincronización

En muchos casos, los usuarios realmente desean sincronizar las escrituras en caché con el dispositivo de almacenamiento persistente subyacente que contiene los datos. Esto significa que cualquier cambio realizado en los búferes de archivos en la memoria se actualiza en el disco, por lo que si el sistema falla en ese momento, es muy probable que todo esté actualizado. Si este concepto parece un poco avanzado, recuerde que esto hace que la información en su RAM sea la misma que la información en su disco o SSD.



Invocar el comando sync sin ningún otro argumento hace precisamente eso. Actualiza los archivos en el disco con cualquier cambio en espera de ser escrito. Tipo sincronizar en la línea de comando y presione enter. No verá ningún resultado en absoluto, y puede hacerlo después de que se haya ejecutado cualquier comando antes.

Este método es increíblemente simple, ya que solo requiere que aprenda una sola palabra. A diferencia de otros métodos, es perfectamente seguro hacerlo en todo momento y no reducirá el rendimiento excepto durante los pocos momentos en que se realiza la sincronización con el disco. Si ha estado moviendo un montón de archivos entre unidades externas y desea asegurarse de que todas las escrituras estén hechas, libere los búferes de Linux escribiendo sync y presionando enter. Todos los demás métodos son estrictamente para realizar evaluaciones comparativas. Si alguna vez ha escuchado a alguien hablar sobre sectores sucios, esta es una solución para ese problema. Linux a veces guarda archivos en la memoria, pero le dice al resto del sistema operativo que están en el disco, pero ejecutar la sincronización asegura que estos cambios también se actualicen en el disco. No los elimina de la RAM, por lo que se seguirán ofreciendo a otros programas que necesiten acceder a ellos sin ralentizar las cosas.

Método 2: búferes de Linux completamente gratuitos

Antes de continuar, tenga en cuenta que el Método 1 casi siempre es el preferido, ya que Linux almacena en caché agresivamente a propósito para que su dispositivo se mueva más rápido. Casi siempre querrá ejecutar la sincronización por motivos de seguridad para asegurarse de que se hayan completado todas las escrituras en el disco. Si está intentando realizar una prueba comparativa de hardware o algo por el estilo, hay una forma de liberar completamente las cachés de Linux.

Suponiendo que comprenda completamente el peligro de hacer esto, ejecute gratis && sincronización && echo 3> / proc / sys / vm / drop_caches && gratis en la terminal. Dado que es un comando tan largo, es posible que desee resaltarlo aquí y copiarlo. Para pegarlo en la terminal, use la opción Pegar en el menú Editar o A diferencia de la sincronización por sí misma, tendrá que ejecutar esto desde un indicador raíz. Coloque sudo delante del comando si ha iniciado sesión como usuario normal. Esta línea asegura que verá una salida que indica que las cachés de memoria se están vaciando realmente.

Una vez más, la única razón por la que querría hacer esto es para realizar comparativas. Es posible que note un impacto real en el rendimiento una vez que haya hecho esto, ya que está vaciando todos los datos que Linux se esforzó en almacenar en caché. También puede deshabilitar el intercambio escribiendo sudo swapoff -a y volver a habilitarlo con sudo swapon -a , pero nuevamente, estos necesitan acceso de root y la única vez que querría hacer esto es si fuera un desarrollador que intenta tomar pruebas comparativas de hardware reales para una utilidad o proceso del sistema de archivos. Todos los demás simplemente querrán ejecutar la sincronización por sí mismos como un usuario normal sin acceso de root para asegurarse de que todos los sectores sucios se escriban en el disco.

3 minutos de lectura