2011/10/18 Esteban Torres Rodríguez <mortenol.tor...@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.

-- 
Marc

Responder a