Linux, Open-source, Programação e Produtividade

-XX:PermSize

Jonas Abreu em 27/03/2012

Quem nunco tomou um OutOfMemoryError: Permgen Space? Eu já tomei vários. A maioria associado à algum memory leak estranho.

Mas recentemente passei por um problema estranho.

Uma aplicação que era 100% Java estava sendo migrada para Scala. No meio da migração comecei a tomar erros aleatórios relacionados ao permgen.

Chegou ao ponto da aplicação simplesmente parar de subir.

O que estava acontecendo é que código Scala, depois de compilado, em geral cria muito mais .class que código java. Na JVM da Oracle, os .class ficam na área de memória chamada Permgen.

Como nesse caso o problema não era um leak de memória (o profiler me confirmou isso), simplesmente aumentamos o tamanho do permgen e o problema sumiu.

Vale lembrar que esse caso era de uma exceção no momento em que o servidor subia e não alguns dias depois como costuma ser mais comum em casos de memory leak.

Creative Commons License
-XX:PermSize de Jonas Abreu está licenciado sob Creative Commons License.