ViniGodoy wrote:Recentemente comecei a receber o erro "OutOfMemoryError - PermGen space". Não se trata de um OutOfMemory error comum. Como o final da mensagem diz ocorre no "PermGen space", que é o local onde os classloaders são criados.
Embora o problema seja mais comum nos applications servers, ele também pode ocorrer para aqueles que, como eu, usam linguagens de script. Buscando na net, achei dois ótimos artigos que falam a respeito do assunto, e recomendo a todos aqueles que trabalham com web, ou manipulam vários classloaders a leitura.
O primeiro deles, fala a respeito do problema, exemplifica como e porque ele ocorre, e também mostra porque ele é um problema sutil. O segundo, já dá uma luz sobre como identificar os possíveis pontos de falha no código.
http://blogs.sun.com/fkieviet/entry/classloader_leaks_the_dreaded_java
http://blogs.sun.com/fkieviet/entry/how_to_fix_the_dreaded
Outros artigos legal sobre o assunto é:
http://cyriltech.blogspot.com/2010/08/understanding-permgen-errors.html
Alguém aqui já passou pelo mesmo problema?
Uma dica, no lugar do aplicativo indicado pelos artigos, você pode usar o Netbeans profiler para identificar o Permgen. A interface é mais limpa, mais rápida e mais fácil de usar.