Liberar memoria física en linux

Cualquier sysadmin que alguna vez hubiese manejado un sistema linux y se ha preocupado de observar el consumo de memoria RAM mientras este se encuentra funcionando, habrá notado que a medida que pasa el tiempo las aplicaciones van consumiendo la memoria física poco a poco, sin embargo cuando en el servidor se ejecutan procesos de alta demanda, es probable que este consumo se vea incrementado, haciendo aveces que el sistema tenga que hacer uso de la partición SWAP. Esto parece ocurrir porque Linux maneja un caché de memoria física para poder así mejorar el rendimiento en las respuestas de procesos.

Dependiendo de que tanta demanda tenga el servidor, he decidido forzar una limpieza de memoria cada cierto tiempo con la ayuda del Dios CRON

#!/bin/sh
sync; echo 3 > /proc/sys/vm/drop_caches

Ejecutar este script cada vez que se estime conveniente limpia el CACHE, personalmente recomendaría hacerlo en los momentos de menor uso de los servicios de la máquina.

Espero le sea útil a alguien y a quien le parezca interesante al menos deje un comentário 😀

Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

6 Comments
Inline Feedbacks
View all comments
rafael campoverde
rafael campoverde
7 years ago

Buen dia, tengo un problemita y espero me puedan ayudar…. estoy administrando recientemente unos redhat que corren oracle, estos se paran quedando sin memoria fisica y el free me dice que tengo 48mb libres o menos… no se que hacer para que esto no ocurra, consulte con los DBA y me dicen que me dije en el valor “-/+ buffers/cache:” del comando free pero no creo ke sea tan cierto eso.. He visto que el anterior admin de aca ejecuta cada 20 minutos un: “sync; echo 3 > /proc/sys/vm/drop_caches” pero por lo que he leido eso solo limpia la memoria… Read more »

manel
manel
11 years ago

Poto:

“Antes de darselas de sysadmin documentese” ( tu si que lo eres, no?)

Te has lucido.

poto
11 years ago

realmente sabes que estas haciendo?

ese hack es bastante sucio y peligroso. si estas escribiendo datos al momento de ejecutar ese comando estas haciendo dump fuera del cache del fs antes que alcance el disco..

hay una forma mucho mas segura de hacerlo -> /proc/sys/vm/vfs_cache_pressure
ahi le puedes decir al kernel que prioridad deberia tener cuando se limpian caches de inode/dentry.

Antes de darselas de sysadmin documentese 😉

fersystem
11 years ago

Gracias, para un novato como yo fue un dato muy útil.

6
0
Would love your thoughts, please comment.x
()
x