Configuração de Memória no Tomcat

Durante o desenvolvimento de aplicações Java, principalmente web,é comum se deparar com erros java.lang.OutOfMemoryError ou PermGen space. Na maioria das vezes estes erros ocorrem pela não customização das configurações de memória do Java. Além de diminuir o número de exceções, melhora a performance.

Alguns cuidados devem ser tomados. A quantidade de memória alocada não deve ser maior que a disponível.

Xms = O valor inicial de memória heap
Xmx = O valor máximo de memória heap
MaxPermSize = Especifica o valor máximo para a geração do heap permanente, o heap que armazena os objetos como classes e metodos. Como MaxPermSize é o valor máximo, é garantido aumentar este valor, mesmo que a aplicação não necessite. PermSize é adicional ao valor -Xmx. Mas o MaxPermSize permite a JVM que cresça o valor especificado pelo PermSize.

Configurando o tomcat rodando stand alone, coloque nas variáveis de ambiente do sistema a seguinte opção:
$ export JAVA_OPTS="-Xms256m -Xmx1024m -server"

Ou no arquivo catalina.sh...

É preferível do que usar o CATALINA_OPTS pois este pode ser sobre-escrito pelo JAVA_OPTS.
Em um sistema linux, pode-se colocar no bash do usuário que roda o tomcat (dentro do diretório do usuário .bashrc) ou no arquivo profile.

Com isso espera-se diminuir a quantidade de exceções geradas por falta de memória.

Comentários

  1. Cara eu to tendo esse problema, e não consigo solucionar. o erro é este: java.lang.OutOfMemoryError: Java heap space
    Reason: Java heap space

    ResponderExcluir

Postar um comentário