lunes, 13 de junio de 2011

Configuracion de la memoria Java en JBoss EAP.

Cuando la JVM se levanta, se crean los siguientes espacios de memoria:
1. Eden (create de objetos)
2. Survivor (Garbage Colector gc)
3. Old (los eliminados por el gc)
4. Permanent (librerias)
5. Code Cache. Solo presente en la version HostSpot.

El Heap (la union del Eden, Survivor, Old) se determina mediante -Xms y -Xmx, y MaxPermnSize determina el area permanent.

Para modificar el la memoria del JBoss, ubicar en el archivo C:\jboss-eap-5.0\jboss-as\bin\run.conf.bat la siguiente linea:

rem # JVM memory allocation pool parameters - modify as appropriate.
set "JAVA_OPTS=-Xms128M -Xmx512M -XX:MaxPermSize=256M"

Otra configuracion

rem # JVM memory allocation pool parameters - modify as appropriate.
set "JAVA_OPTS=-Xms256M -Xmx1024M -XX:MaxPermSize=256M"

El siguiente parametro indica cada cuanto se desea ejecutar el garbage collector. Realmente lo decide el JVM, y trata de ejecutarlo como lo indica el parametro gcInterval (expresado en milisegundos)

rem # Reduce the RMI GCs to once per hour for Sun JVMs.
set "JAVA_OPTS=%JAVA_OPTS% -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
Para revisar monitorear la memoria y otros elementos del Java se puede usar el “jconsole”. Aqui se puede ver como esta configurada la memoria; “jconsole” es parte del JDK.

Otra herramienta es el “jvisualvm” que nos muestra el uso de la memoria del servidor.

Si 1 proceso se ejecuta en 1 segundo y el servidor procesa 5 procesos concurrentes, entonces 10 procesos se ejecutan en 2 segundos. Mientras se procesan los 5 primeros, los restantes estan en espera.

El parametro "Max threads" mostrado por http://10.10.10.83:8080/status indicara la maxima cantidad de procesos concurrentes por segundo.

Para levantar en cluster se puede hacer lo siguiente:

C:\jb336\appservers\jboss-eap-5.0\jboss-as\bin>run.bat -c all -b 0.0.0.0 -Djboss.partition.name=Granja
Compartir:

0 comentarios:

Publicar un comentario