Bienvenido(a) a Alcance Libre 10/09/2025, 14:40

Alcance Libre Foros

 Índice del foro > Todo acerca de Linux > Redes y Servidores New Topic Post Reply
 Liberar memoria RAM
Tópico anterior Tópico siguiente
   
Fernando García
 26/02/13 11:49 (Leído 3,896 veces)  

Nuevo
sore

Estado: desconectado
Forum User

Identificado: 01/08/11
Mensajes: 7
Buenos días a todos los foristas.

Tengo un problema en un server con RHEL 6, que conforme avanza el día va ocupando memoria RAM hasta que llega a ocuparla casi toda. He vigilado con TOP los procesos y el uso de CPU y memoria y no he encontrado alguno que sature de esa forma la memoria. Buscando en google me encontre que tecleando sync y después echo 3 > /proc/sys/vm/drop_caches se libera la memoria.

Después de esta breve explicación vienen las preguntas para las que pido su apoyo, ¿Cómo puedo encontrar el proceso que esta saturando el uso de la RAM? Pienso que es mejor encontrar la causa que lo origina, pero hasta el momento no he encontrado nada raro. La siguiente pregunta es, ¿Es seguro ocupar sync con la línea que ya describí arriba para liberar memoria?


Saludos y les doy las gracias anticipadamente.
 
Profile Email
 Quote
Joel Barrios Dueñas
 26/02/13 11:58  

Admin

Estado: desconectado
Site Admin

Identificado: 17/02/07
Mensajes: 1761
Localización:Mexico
hacer «sync;echo 3>/proc/sys/vm/drop_caches» se le llama violencia innecesaria.

Antes que nada hay que aclarar que lo que observas con top o free es y no es lo que asumes.

Voy a poner el siguiente ejemplo:

BASH Formatted Code

             total       used       free     shared    buffers     cached
Mem:          3700       3231        468          0        106       1997
-/+ buffers/cache:       1127       2572
Swap:         7904          0       7904



En el ejemplo anterior se observa que hay 3231 MB de memoria utilizada, sin embargo si a esto le restas la memoria cache y le sumas los búfers, en realidad se está utilizando 1127 MB. La memoria cache son programas que fueron abiertos con anterioridad y que permanecen en memoria por si acaso se vuelven a llamar. La memoria cache es reclamada automáticamente por el sistema según se requiera.

En tu caso muy probablemente te estás alarmando porque sólo estás observando la memoria utilizada y asumes que se está consumiendo por procesos oscuros y mágicos en el sistema. Salvo que la memoria reportada por -/+ buffers/cache sea la que está utilizando la mayor parte de la memoria disponible del servidor, no hay de que preocuparse.

Me refiero a que es violencia innecesaria hacer echo 3>/proc/sys/vm/drop_caches porque limpias el cache de memoria (espero entiendas el concepto de cache). El cache sirve para agilizar las cosas en el sistema, limpiar el cache de memoria cuándo no es necesario sólo logrará el efecto contrario: hacer más lento el sistema.
 
Profile Email Website
 Quote
Fernando García
 26/02/13 12:16  

Nuevo
okay

Estado: desconectado
Forum User

Identificado: 01/08/11
Mensajes: 7
¡Muchas gracias Joel! La verdad es que si era un tema que me empezo a dar cierta preocupación, ya que es un servidor que lleva un proceso muy importante y se me hacía demasiado raro que la RAM "llegara a su límite al final del día", pero ahora ya se que ese no es el punto a vigilar.

¡Nuevamente gracias por la explicación!

¡Saludos Joel!
 
Profile Email
 Quote
Contenido generado en: 0.14 segundos New Topic Post Reply
 Todas las horas son CST. Hora actual 02:40 .
Tópico normal Tópico normal
Tópico Pegado Tópico Pegado
Tópico bloqueado Tópico bloqueado
Mensaje Nuevo Mensaje Nuevo
Tópico pegado con nuevo mensaje Tópico pegado con nuevo mensaje
Tópico bloqueado con nuevo mensaje Tópico bloqueado con nuevo mensaje
Ver mensajes anónimos 
Los usuarios anónimos pueden enviar 
Se permite HTML Filtrado 
Contenido censurado