El PermGen se utiliza para almacenar las definiciones de clase y el grupo de cadena internados. Su código podría estar llenándolo (si llama a un interno innecesariamente), pero lo más probable es que el valor predeterminado sea demasiado pequeño para su aplicación.
Esto se debe a que Tomcat cargará nuevas clases cada vez que implemente un WAR - o, si está trabajando en un entorno de desarrollo, cada vez que edite un JSP. Esos eventualmente deberían limpiarse, pero en un entorno de desarrollo activo puede tener períodos en los que se carguen instancias antiguas y nuevas. O bien, si se encuentra en un entorno de producción y tiene una gran aplicación web, es posible que simplemente necesite más espacio.
Para ajustar el tamaño PermGen, utilice -XX:MaxPermSize=SIZE
Los siguientes enlaces pueden ser útiles: tuning GC (esta es la edición 1.5), GC FAQ (1.4.2 edición), Hotspot VM options (creo que esto es 1.6)
Es éste un problema diferente que la que [descrito aquí] (http://stackoverflow.com/questions/1124131/what-can-be-done -with-permgen-out-of-space-exception-in-tomcat-spring-hibernate? –
Recomiendo leer [este artículo] (http: // plumbr.eu/blog/what-is-a-permgen-leak) (escrito por mí), para comprender mejor por qué pueden ocurrir estos errores. Y contiene algunas sugerencias para resolverlos también. – Nikem