Liberar Memoria en Linux
Muchas veces tenemos muy pococa ram y necesitamos optimizar. Podemos utilizar este script. Se recomienda utilizarlo en la noche para que no afecte la continuidad de los servicios en producción.
#!/bin/bash FECHA=$(date) echo "Generado" > /usr/local/dropcache.txt echo $FECHA >> /usr/local/dropcache.txt sync sysctl -w vm.drop_caches=3 sleep 3 sysctl -w vm.drop_caches=1
También podemos crear un script para que funcione bajo demanda, es decir, que si llega a cierta cantidad de ram se ejecute.
#!/bin/bash limiteRAM=100 com=`ps -auxw --sort -rss | head` #while true; do memoria=$(free -m | head -2 | tail -1 | awk {'print $4'}) if [ "$memoria" -lt "$limiteRAM" ]; then touch proceso.txt echo $com > proceso.txt sh /home/usuario/script/lib_mem.sh; echo "Procesos con excesiva RAM" | mail -s "Liberando Cache Ram" correo@dominio.cl < proceso.txt; rm proceso.txt fi
Aca lo que haces es decir que si el $limiteRAM es menor a 100 ejecute el scritpt que mostramos mas arriba y envÃe un correo indicando los procesos que estaban consumiendo los recursos.
Deja un comentario