Cómo limpiar buffers y ram en linux

Cómo limpiar buffers y ram en linux.

Con el paso del tiempo, sobre todo en servidores que siempre están online, notamos que cada vez trabajan más despacio.

Es algo normal, pues con el uso los buffers, ram y swap se van llenando. Si trabajamos en una maquina que va muy sobrada de hardware y con pocos usuarios, no debería haber ningún problema. Si nuestro servidor hace un uso intensivo de sus recursos, la cosa cambia.

Las caches aceleran la vista de un sitio web al usuario, pero es evidente que sobrecargan el servidor. En este articulo veremos unos comandos que te ayudaran a limpiar el sistema, y que podemos convertir en script bash.

 

Cómo limpiar buffers y ram en linux

Todos los comandos propuestos se deben ejecutar con permisos root, por ejemplo, si queremos liberar las pagecache ejecutamos lo siguiente.

echo 1 > /proc/sys/vm/drop_caches

Para liberar inodos y dentries.
echo 2 > /proc/sys/vm/drop_caches

Para liberar todo lo anterior, pagecaches, inodos y dentries.
echo 3 > /proc/sys/vm/drop_caches

Un ejemplo de como puedes usar la cadena de comandos al completo:
free && sync && echo 3 > /proc/sys/vm/drop_caches && free

También es conveniente vaciar la swap, para ello la manera más practica es desactivarla y volverla activar. La swap es una memoria volátil, por tanto desaparece al desactivarla.
# Deshabilitar la swap
swapoff -a

# Habilitar la swap
swapon -a

 

Crear un script bash limpiador

Ahora creamos un script bash con los comandos anteriores, ademas generamos tiempos de espera entre ellos por si nuestro sistema está un poco sobrecargado.

nano limpiar.sh

Copia y pega lo siguiente.
#limpiar.sh
#!/bin/bash
echo "<---------------------------------------------------------->"
echo "<---------------------------------------------------------->"

echo "Comprobando estado de memoria"
free
echo "OK - Comprobacion completada"
echo "<---------------------------------------------------------->"

sleep 1s; echo “Limpieza de memoria cache y swap“;
echo "<---------------------------------------------------------->"

sleep 1s; echo "Deshabilitando Swap"
swapoff -a
echo "OK - Swap deshabilitado"
echo "<---------------------------------------------------------->"

sleep 2s; echo "Liberando pagecaches, dentries e inodes"
sync;sysctl -w vm.drop_caches=3;sync
echo "OK - Server liberado"
echo "<---------------------------------------------------------->"

sleep 3s; echo "Habilitando la Swap"
swapon -a
echo "OK - Swap habilitado"
echo "<---------------------------------------------------------->"

sleep 2s; free
echo ".....TODO CORRECTO....."
echo "<---------------------------------------------------------->"
echo "<---------------------------------------------------------->"

Guarda el archivo y cierra el editor.

Lo puedes ejecutar con el siguiente comando.

bash limpiar.sh

Como nota final puedes revisar el estado de la memoria, con…
cat /proc/meminfo

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

 

Una respuesta

  1. Yolbary Pereira
    15/03/2020

Agregar comentario