Problemas con PermGen

Uno de los problemas recurrentes de los servidores de aplicaciones, y que ni siquiera profesionales certificados en Java me han sabido resolver, es el error de memoria agotada en PermGen. El caso es que el servidor se rompe y hay que reiniciarlo, solución nada aconsejable en entornos de producción.

Pues bien, tras algunas búsquedas y lecturas varias, he hallado la solución al problema, y lo que es mejor, una explicación detallada de todo el proceso. Al parecer, el recolector de basura de Java es generacional. Existen cuatro generaciones o etapas: eden, young, old y permanent. De izquierda a derecha, la diferencia fundamental (que no la única) es que el recolector de basura pasa con menos frecuencia que en la anterior. Como ya sabía el lector avezado, por la generación permanente no pasa nunca, así que cuando se llena, salta la conocida excepción que muchos tememos.

El artículo explica detalladamente cómo evitarlo para volver a dormir tranquilos.

Actualización 10/06/2010. He encontrado un artículo que explica magistralmente, y con ejemplos, las causas y soluciones del problema a nivel de implementación.

URL trackback

http://m.emartos.es/trackback/39

Comentarios

Comparta su opinión

(no se publicará)
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <p> <img>
  • Saltos automáticos de líneas y de párrafos.
  • Las etiquetas HTML serán transformadas para cumplir los estándares.
  • Syntax highlight code surrounded by the {syntaxhighlighter SPEC}...{/syntaxhighlighter} tags, where SPEC is a Syntaxhighlighter options string or "class="OPTIONS" title="the title".
  • Los @nombres tipo Twitter enlazan con sus respectivas cuentas de Twitter.
  • Los #hashtags tipo Twitter enlazan a search.twitter.com.

Más información sobre opciones de formato

To prevent automated spam submissions leave this field empty.