[uylug-programming] GeneXus (java-web) + Tomcat + Out-of-memory

Sebastian Gurin sgurin at montevideo.com.uy
Thu Aug 9 07:11:21 PDT 2012


Hola. En mi experiencia, si estás en linux, usar -Xms -Xmx -Xmn, -XX:PermSize y -XX:MaxPermSize, etc SI ayuda. Esta configuración la uso por ej para un proyecto grande:

-Xms512m -Xmx1024m  -XX:MaxPermSize=256M

Y ojo hay diferentes excepciónes "Out of memory". En la excepción completa tenés la causa original del problema. 

Como dijeron por ahí, también ayuda reiniciar el tomcat todas las noches, o algo así. 

Un apunte, la máquina virtual de sun (q supongo q es la que estás usando) en la mayoría de los SOs, solo puede reservar esta memoria en un segmento continuo de memoria. En linux no es así y puede reservar memoria de diferentes segmentos, pero por ej en windows, va a reservar el segmento de memoria continuo más grande que encuentre, no importa lo que le pases en los parametros -X... de la vm. 

Otro apunte, no la he probado, pero dicen por ahí que la VM jrokit (http://www.oracle.com/technetwork/middleware/jrockit/overview/index.html) es mucho más liviana y eficiente en estos temas... por ahí te conviene probarla que no perdes nada... Además de esto me aseguraría de correr la app con la versión más nueva de la jvm.

Si no podés resolverlo y tenés que hacer un profile o algo así del código algunos apuntes 1) lo de llamar explicitamente al garbage collector desde el código en ciertos puntos no sirve de nada... 2) si es código genreado por gnexus y está haciendo un memory leack entonces q cagada de generador...  3) los mem leaks por lo general los generan aquellas librarías que trabajan nativamente con jsni como algún controlador de base de datos o algúna libaría nativa como jmagick, comenzaría a buscar por ese lado. 

saludos y suerte

On Thu, 19 Jul 2012 13:07:08 -0300 (UYT)
Arlequín <arle at adinet.com.uy> wrote:

> Hola, lista.
> 
> Mi consulta, como dice el 'subject' es sobre los errores de "Out of memory" que hace 
> que Apache Tomcat se ponga lento y termine generando Java Core dumps o Heap dumps.
> 
> Este Tomcat está corriendo una aplicación Java desarrollada en GeneXus.
> 
> De acuerdo con la documentación encontrada en los foros de la GX Communitiy [1] [2] 
> [3], el tema de la memoria o de los memory leaks no se soluciona aumentando la 
> memoria de la JVM
> 
> Si hay alguien en la lista que haya encontrado temas similares y tiene para aportar, 
> cualquier comentario será bienvenido. :-)
> 
> [1] <http://www.gxopen.com/forumsr/servlet/viewthread?ARTECH,1,166376>
> [2] <http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Monitoring+Memory+Management+with+JMX,>
> 
> [3] <http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Monitoring+Tomcat+Applications,>
> 
> 
> Saludos,
> --
> Arlequín
> arle_AT_adinet_DOT_com_DOT_uy
> http://linuxcounter.net/     
> Linux Registered User #207262
> 
> 
> _______________________________________________
> Uylug-programming mailing list
> Uylug-programming at listas.uylug.org.uy
> http://listas.uylug.org.uy/listinfo.cgi/uylug-programming-uylug.org.uy


-- 
Sebastian Gurin <sgurin at montevideo.com.uy>


More information about the Uylug-programming mailing list