Estoy ejecutando una aplicación GWT + Hibernate en Glassfish 3.1. Después de unas horas, me quedo sin espacio en Permgen. Esto es sin ninguna recarga de webapp. Me estoy ejecutando con –XX:MaxPermSize=256m –XmX1024m
.Problema de espacio PermGen con Glassfish/Hibernate
Tomé el consejo de this page, y descubrí que gano muchísimas clases: todos mis modelos Hibernate y todos mis proxies GWT RequestFactory.
La guía mencionada anteriormente dice "inspeccionar las cadenas, localizar la referencia accidental y corregir el código". Es más fácil decirlo que hacerlo.
El cargador de clases siempre señala una instancia de org.glassfish.web.loader.WebappClassLoader
. Profundizando más, encuentro muchas referencias de $Proxy135
y objetos con nombres similares. Pero no sé cómo seguirlo.
Intente utilizar estos argumentos: '-XX: + UseConcMarkSweepGC -XX: + CMSPermGenSweepingEnabled -XX: + CMSClassUnloadingEnabled -XX: MaxPermSize = 256m' –