Optimización de la JVM – Liferay

Optimización de la JVM – Liferay

Saludos

El dia de hoy vamos a conversar un poco con respecto a la optimización de memoria a nivel de la JVM (Java Virtual Machine) al momento de ejecutar Liferay, existen algunas recomendaciones Standart que podemos ir encontrando a lo largo de toda la Internet, mas sin embargo vamos a especificar algunas propias de Liferay.

Para las personas que dispongan de tiempo, paciencia y suficientes ganas de aprender les dejo el siguiente enlace:

http://java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf – Manejo de memoria de la JVM

1) Lo primero que debemos evaluar es nuestro Hardware en mi caso particular en el proyecto que estoy desarrollando dispongo de 8 Nucleos y 16 Gb de RAM.

En este caso por el manejo de 8 nucleos, se recomienda el uso de Concurrent Mark-Sweep (CMS) Collector, el parametro necesario al momento de ejecutar la JVM:

-XX:+UseConcMarkSweepGC

2) Define el valor de tu Xms y Xmx igual. Xms es el valor minimo del heap que ha de reservar la JVM y el Xmx Indica el tamaño maximo del heap.

En un entorno de desarrollo o producción podemos presumir que los recursos que dispone nuestro equipo son exclusivos para el portal, por lo que no tiene ningún sentido que el heap se este reorganizando, se recomienda definir el tamaño minimo y maximo del heap igual tamaño.

-Xms2048m -Xmx2048m

3) Configura el tamaño de tu «young generation», al igual que el punto anterior, también se recomienda establecer un valor minimo y maximo, en este caso estamos usando 1/3 del tamaño del heap.

-XX:NewSize=700m -XX:MaxNewSize=700m

4) Defina el PermSize, este espacio es usado para guardar los Object Class, este espacio dependera de que tantas clases dispongas, en mi caso 256 Mb es suficiente, si obtienes un error OutOfMemory trata de aumentar el tamaño para descartar que sea falta de memoria para los objetos.

-XX:MaxPermSize=256m

Todos estos valores los guardaremos dentro de setenv.sh que se encuentra en el directorio bin ejemplo:

/opt/liferay/tomcat-6.0.18/bin/setenv.sh

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *