Tonny Moon Blogs

miércoles, mayo 03, 2006

java.lang.OutOfMemoryError

Muchas veces me encuentro con este problema del OOM y siempre sospecho que es un problema de MemoryLeak, pero cuando comienzo a examinarlo mas en detalle me encuentro con la sorpresa de que no existe ningun MemoryLeak y simplemente es una combinacion en el uso de la aplicacion Java y en los parametros de la JVM.
Lo cual me lleva a intentar optimizar la JVM para lo cual siempre me encuentro en que no es posible reproducir el problema y comportamiento en un ambiente de Test.
Y al intentar generar un simple log del GC en el ambiente de Produccion me encuentro con que en el Applicacion Server tiene configurado varios procesos lo cual me hace imposible y muy tedioso analizar el log que generan varios procesos en un unico archivo.
De ahi es que buscando encontre una forma muy practica de indicarle a cada proceso que el log lo genere en un archivo separado de cada proceso !!
Simplemente tengo que indicarle lo siguiente: -Xloggc:/tmp/gc.$$.log, donde el '$$' sera reemplazado por el PID del proceso de la JVM.