Estamos ejecutando un portal liferay en tomcat 6. Cada portlet es una aplicación web contenida, por lo que incluye todas las bibliotecas que el portlet mismo necesita. Actualmente tenemos más de 30 portlets. El resultado de esto es que la permgen de nuestro tomcat aumenta con cada portlet que implementamos.Tamaño grande de Permgen + impacto en el rendimiento
Ahora tenemos dos caminos que podemos seguir. Mueva algunas de las bibliotecas utilizadas por cada uno de nuestros portlets a la biblioteca compartida de tomcat. Esto incluiría cosas como spring/hibernate/cxf/.... para disminuir nuestro tamaño de permgen O más fácil sería aumentar el tamaño de permgen.
Esta segunda opción nos permitiría mantener cada portlet como una entidad autocontenida.
La pregunta ahora es, ¿hay algún impacto negativo en el rendimiento al aumentar el tamaño de permgen? Actualmente estamos corriendo a 512MB. He encontrado poca o ninguna información sobre esto. Pero encontré algunas publicaciones en las que la gente hablaba de correr 1024MB de tamaño permgen sin problemas.
No esperaría que un PermGen de 1 GB causara problemas. –
Pregunta relacionada: http://stackoverflow.com/q/9636328/1140748 –
Esto no responde a su pregunta, pero agrega otro aspecto: considero que la decisión de tener 1 portlet por extensión es una limitación artificial. Con la cantidad de portlets que brindas, apuesto a que hay algunos relacionados en los que recomendaría considerar paquetes relacionados. Esto se encargará de sus molestias y en mi humilde opinión aumentar la información general sobre sus complementos. –