o tomcat não gerando hprof arquivo em outofmemory erro
-
26-12-2019 - |
Pergunta
Eu tenho algum problema de vazamento de memória no meu web app, que é implantado no tomcat.Para encontrar a causa raiz eu ativada HeapDumpOnOutOfMemory erro de configuração:
-XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat/logs
e as definições de memória no tomcat:
-Xms256m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m
Quando o limite de memória problema aconteceu, eu vejo
o java.lang.OutOfMemoryError:Java heap space
no arquivo de log do tomcat, mas o .hprof arquivo não é gerado.Estou em falta alguns ajustes aqui?
Solução
Como o @beny23 escreveu você deve usar -XX:+HeapDumpOnOutOfMemoryError
e como é afirmado aqui:
A -XX:HeapDumpOnOutOfMemoryError Opção Esta opção indica ao Java HotSpot VM para gerar um despejo de pilha quando uma alocação de Java pilha ou a permanente geração não pode ser satisfeita.Não há a sobrecarga na execução com esta opção, então pode ser útil para sistemas de produção onde o OutOfMemoryError exceção demora muito tempo para a superfície.
Verifique, também, a sua versão de Java desde que esta opção foi introduzido no 1.4.2 12 de actualização, 5.0 update 7.