Aumentar o espaço permgen
Pergunta
Estou trabalhando com o TomCat 6.0 e, enquanto estou indexando (não enquanto estiver iniciando o Tomcat), tenho um erro de espaço permgen.
Como eu poderia aumentar esse espaço ??
Obrigado
Solução
Você pode usar :
-XX:MaxPermSize=128m
para aumentar o espaço. Mas isso geralmente só adia o inevitável.
Você também pode permitir que o permgen seja coletado de lixo
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Geralmente, isso ocorre ao fazer muitas resimobras. Estou surpreso que você tenha usando algo como indexação. Use VirtualVM ou JConsole para monitorar o espaço Perm Gen e verifique -o níveis após o aquecimento da indexação.
Talvez você deva considerar mudar para outra JVM como a IBM JVM. Não possui uma geração permanente e está imune a esse problema.
Outras dicas
Para o tomcat, você pode aumentar o espaço permgem
-XX:MaxPermSize=128m
Para isso, você precisa criar (se ainda não existe) um arquivo chamado Setenv.sh na pasta Tomcat/Bin e inclua a seguinte linha
export JAVA_OPTS="-XX:MaxPermSize=128m"
Referência: http://wiki.razuna.com/display/ecp/adjusting+memory+settings+for+tomcat
Você também pode aumentá -lo através dos argumentos da VM em seu IDE. No meu caso, estou usando o tomcat v7.0, que está em execução no Eclipse. Para fazer isso, clique duas vezes no seu servidor (Tomcat v7.0). Clique no link 'Abrir configuração de lançamento'. Vá para a guia 'Argumentos'. Adicionar -xx: maxpermsize = 512m na lista de argumentos da VM. Clique em 'Aplicar' e depois 'OK'. Reinicie seu servidor.
Se você descobriu que as configurações de memória não estavam sendo usadas e, para alterar as configurações de memória, usei o tomcat7w ou o tomcat8w na pasta bin. Então, o seguinte deve aparecer:
Clique na guia Java e adicione os argumentos.Restart tomcat
Em distribuições semelhantes ao Debian, você define isso em /etc/default/tomcat[67]