tag:blogger.com,1999:blog-5022667766051686813.post5915141014165320099..comments2022-08-06T10:56:57.261+01:00Comments on monocaffe (dead): PermGen Out of MemoryAnonymoushttp://www.blogger.com/profile/05083113362664157456noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-5022667766051686813.post-70998823885458366872011-03-13T19:13:27.226+00:002011-03-13T19:13:27.226+00:00Hola,
recientemente he estado dedicando tiempo a ...Hola,<br /><br />recientemente he estado dedicando tiempo a este tema, y en realidad la permGen sí que se libera. <br /><br />El problema aparece cuando el código de la aplicación crea objetos que quedan enlazados con clases de un classLoader superior. Cuando se desinstala la aplicación los objetos instanciados no pueden ser eliminados por el GC. <br /><br />Puesto que un objeto contiene una referencia a su classLoader y el classLoader tiene referencias a todos las clases que alguna vez ha creado... si dejamos algún objeto "enganchado" se quedará todo el classLoader por limpiar.<br /><br />Versiones recientes de Tomcat implementan filtros al finalizar las aplicaciones que ayudan a limpiar los objetos de un classLoader de aplicación que puedan quedar vivos, de forma que el GC los libere.<br /><br />Pero si el servidor de aplicaciones no hace esta tarea, es muy difícil que desde la propia aplicación se puedan solucionar problemas de permGen OOMAnonymousnoreply@blogger.com