miércoles, 28 de diciembre de 2011

Error de memoria en Tomcat java.lang.OutOfMemoryError: Java heap space size

Trabajando con un servidor de Tomcat 6.x obtuve ese error y al parecer ha quedado solucionado realizando lo siguiente:

Como antecedente no tengo instalado el Tomcat como servicio, lo tengo montado en un servidor con windows 2003 server y esta trabajando con el archivo startup.bat

El Tomcat tiene montado un sitio que por cuestiones de trabajo durante una temporada aumento su tráfico de red, y como resultado provocó que iniciará a marcar el error de java.lang.OutOfMemory: Java heap space y el servidor se caía o cerraba, de manera que dicho sitio montado quedaba totalmente inutilizable.

Después de buscar información en la red realice lo siguiente:

1. Modificar una línea en Catalina.bat
Esta línea le indicará a la maquina virtual de Java que debe usar más memoria para operar el Tomcat:

Archivo: catalina.bat


if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuli
set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" -Xms1024m -Xmx1024m -XX:MaxPermSize=128m
:noJuli



NOTA: Lo que esta en color rojo es lo que hay que agregar en caso de que no lo tenga o modificarlo si ya lo tiene en base a la necesidad particular del sitio.

Una vez realizado lo anterior se debe cerrar el Tomcat y volver arrancar el startup.bat.

2. Monitorear el Tomcat
Después de la modificación tenía la inquietud de monitorear el tomcat, entonces para esto, podremos utilizar el jconsole.exe este programa se encuentra como parte de la JDK de Java, yo lo encontre en el directorio c:\program files (x86)\java\jdk1.6.0_03\bin\jconsole.exe al entrar al programa aparece una sección donde se muestran los procesos locales.

Dentro de ese listado he seleccionado el que decía org.apache.catalina.startup.Bootstrap.   

Una vez seleccionado y entrando al servicio aparece una pestaña de Overview y ahí puedes monitorear el Heap Memory Usage, hasta el momento después de lo que he realizado va funcionando bien.



Espero esto te sea de utilidad, te dejo los links que utilice como referencia para este proceso:
http://www.coderanch.com/t/87422/Tomcat/increase-java-heap-size
http://www.elclubdelprogramador.com/2011/10/22/java-monitorizando-con-jmx/




2 comentarios:

  1. Muchas gracias por tu ayuda, Dios me lo Bendiga...

    ResponderEliminar
  2. Gracias loco esta configuración si me sirvió.

    ResponderEliminar