[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Uso Ram



El 18/10/11 17:28, Esteban Torres Rodríguez escribió:
> El día 18 de octubre de 2011 17:19, Marc Aymerich
> <glicerinu@gmail.com> escribió:
>>
>> 2011/10/18 Esteban Torres Rodríguez <mortenol.torres@gmail.com>
>>> Buenas,
>>>
>>> Tengo una duda de la gestión de la Ram en linux. Hasta donde yo sé,
>>> con el uso normal de un server linux, este va cacheando la memoria que
>>> se va utilizando para que la futura utilización de dicha memoria sea
>>> mejor, pero me encuentro en casos en que el server tiene cacheado el
>>> 70% de la memoria y cuando un proceso solicita más memoria no la
>>> encuentra (por ejemplo un proceso java en tomcat).
>>>
>>> He limpiado la cache con sync; echo 3 > /proc/sys/vm/drop_caches, pero
>>> quiero saber como funciona la memoria RAM en el server.
>>>
>>> Se supone que cuando un proceso necesita mas memoria, dicho proceso
>>> tiene que ir a la cache o es el sistema operativo quien la debe
>>> liberar?
>>>
>>> Cada cuanto tiempo se libera la memoria cacheada o hay que forzar
>>> dicha limpieza?
>> La cache de disco no se descarta hasta que ya no queda más memória libre y
>> un proceso pide más. Creo que el problema reside en la configuración de tu
>> aplicación java. No soy un experto pero creo las aplicaciones Java se
>> configuran con unos parametros que indican el minimo de memoria y el maximo
>> que la maquina virtual java que ejecuta la aplicación tiene que consumir.
>> Seguramente tendras puesto el minimo muy alto y java se queja de que no
>> puede colocar la JVM.
> Efectivamente. En un server con 3 Gb de Ram tiene configurado al
> proceso java que como máximo pille 1 Gb y como mínimo 1 Gb. El server
> con el paso de los días se me queda el 70% cacheado y el 30 % en uso.
> El proceso java se queda colgado a los 2 días.
>
> Creo que va a ser problema del java (necesito demostrarlo), lo que
> pasa es que el administrador de la aplicación no soy yo. Con lo cual
> yo digo que es de java y el admin del servidor de aplicaciones me dice
> que es la mala gestión de la memoria de la máquina.
>
> En fin...
>
>
>> --
>> Marc
>>
>

Si tienes limitado el proceso a un giga, comprueba con top si cada vez
que falla tiene precisamente reservados un giga de memoria física, es la
columna res, si es asi el administrador no tendrá motivos para negar la
evidencia.

Por otro lado puedes plantearle si se cree tan buen desarrollador como
para determinar de esa forma que el problema no es de su lastimera
aplicación, sino del código de un kernel desarrollado, auditado y
comprobado por varias decenas de miles de personas en todo el mundo.

Un saludo.


Reply to: