Introducción
Muchas veces, los sistemas Linux pueden experimentar problemas de poca memoria después de ejecutarse durante algún tiempo. La razón es que Linux usa mucha memoria para el caché del disco, ya que la RAM se desperdicia si no se usa. La caché se utiliza para almacenar datos que el sistema operativo utilizará con frecuencia. Leer datos de la caché es mucho más rápido que leer datos del disco duro. Es útil para el sistema operativo obtener datos del caché en memoria. Pero si los datos no se encuentran en la caché, se leen desde el disco duro. Por lo tanto, no es un problema borrar la memoria caché.
Este artículo explica cómo borrar la memoria caché en el servidor Linux.
Si desea borrar la memoria caché en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Vaciar la caché del búfer de memoria
Hay tres opciones para borrar la memoria caché de Linux. Utilice uno de los siguientes según sus necesidades.
- Para borrar la memoria caché de página, dentries e inodos:
sync; echo 3 > /proc/sys/vm/drop_caches
Si no está utilizando el usuario root, sino un usuario con privilegios de sudo
sudo sh -c 'echo 3 >/proc/sys/vm/drop_caches'
- Para borrar la memoria de dentries e inodos:
sync; echo 2 > /proc/sys/vm/drop_caches
Si no está utilizando el usuario root, sino un usuario con privilegios de sudo
sudo sh -c 'echo 2 >/proc/sys/vm/drop_caches'
- Para borrar solo la memoria caché de página:
sync; echo 1 > /proc/sys/vm/drop_caches
Si no está utilizando el usuario root, sino un usuario con privilegios de sudo
sudo sh -c 'echo 1 >/proc/sys/vm/drop_caches'
Programe Cron para borrar el caché con regularidad
Es una buena idea programar un cron para que purgue y borre automáticamente el caché a intervalos regulares usando crontab.
Utilice el crontab -e
para editar cron en su sistema:
crontab -e
Agregue la siguiente línea:
0 * * * * sync; echo 3 > /proc/sys/vm/drop_caches
El cron anterior se ejecutará cada hora y borrará la memoria caché del sistema. Puede configurar el cron para que se ejecute en cualquier momento a intervalos de tiempo personalizados. Para obtener más información, lea este tutorial.
Encuentra cachés usados en Linux
Utilice el free
para averiguar los usos de la memoria caché en el sistema Linux:
free -mh
Debería ver un mensaje de salida similar al siguiente:
total used free shared buff/cache available
Mem: 1.9Gi 524Mi 146Mi 73Mi 1.2Gi 1.1Gi
Swap: 0B 0B 0B
La -mh
es útil para leer los resultados de salida más fácilmente. Con esta opción es fácil distinguir megabytes y gigabytes.
Conclusión
En este tutorial hemos visto cómo borrar la memoria caché y el búfer de caché en Linux.