viernes, 1 de marzo de 2013

Aumentado la memoria de Tomcat, Jboss y Weblogic

Hola

Esta entra voy a explicar como aumentar la memoria de nuestro tomcat 6 o 7, Jboss 6.1 EAP y weblogic 11 o 12, voy empezar con el tomcat:

Abrimos el fichero {DIR_TOMCAT}/bin/catalina.{bat|sh}

Añadimos la siguiente linea para windows:

set JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m"

En caso que estamos en linux:

export JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m" 


Ahora vamos Jboss dependiendo el modo de arranque que hagamos domain o standalone:

Abrimos el fichero {DIR_JBOSS}/bin/domain.conf.{bat}
Abrimos el fichero {DIR_JBOSS}/bin/standalone.conf.{bat}

Añadimos la siguiente linea para windows:

set JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m"

En caso que estamos en linux:

export JAVA_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256m" 


 Con esto ya hemos aumentado la memoria para nuestro tomcat, ahora vamos a explicar para aumentar el weblogic.

Abrimos el fichero {DIR_WL}/user_projects/domains/base_domain/bin/startWebLogic.{cmd|sh}

buscamos la linea echo JAVA Memory arguments: %MEM_ARGS%  encima ponemos.

set MEM_ARGS=-Xms512m -Xmx1024m -XX:CompileThreshold=8000 -XX:PermSize=64m -XX:MaxPermSize=256m

Con esto tenemos configurados nuestro contenedor de servlet (Tomcat) y nuestro servidor de aplicaciones (Weblogic).

Memoria en Java

Hola

En esta entrada voy hablar como se configura la memoria de java en la maquina virtual (JVM), la memoria de java la podemos diferencia en 3 tipos:

  1. Memoria de almacenamiento dinámico o Heap.
  2. Memoria de almacenamiento estático o PermGen.
  3. Memoria dinámica nativa.

El heap es la zona de memoria donde la máquina virtual java guarda las instancias de los objetos creados por las aplicaciones.

El PermGen  es la zona de memoria donde la máquina virtual java guarda las clases que han sido cargadas por la aplicación. Esta zona también es utilizada para almacenar la información para la optimización de la aplicación por parte de la  máquina virtual java. Los elementos que se almacenan en esta zona de la memoria son:
  • Métodos de las clases
  • Metadatos
  • Nombre de clases
  • ...
La nativa es la zona de memoria donde la máquina virtual java almacenar el código de la Interfaz Nativa de Java (JNI) o la bibliotecas nativas de una aplicación.

 Ya sabemos que java tiene un recolector de basura automático, si en algún momento necesitamos liberar memoria sería llamando la método:

System.gc();

Esto es todo sobre la memoría de java.