Fazer dump de memória com Java

[ad#texto]

Muitas vezes nos deparamos com erros referente a alocação de memória heap em Java, isso se deve basicamente ao fato de que a alocação (que é variável pelo ambiente de execução) é pequeno e também porque em diversas API´s que utilizamos a falta de documentação induz o desenvolvedor a não sinalizar corretamente os objetos que irão para o Garbage Colletor.

A solução mais rápida é sem dúvida alterar os parâmetros de memória para a JVM, isso é realizado da seguinte forma:

-Xms256m -Xmx848m

Isto irá especificar novos valores de memória mínima que é aquela alocada ao iniciar a JVM e a memória máxima que é o limite da alocação de memória que a JVM irá fazer ao longo do uso, após isso provavelmente irá utilizar swap (paginação) o que resulta em perda de performance.

Mas isso não impede que o problema torna a se repetir e também não trata o problema efetivamente (lembre-se que em muitos casos pode ser uma falha de programação), então o correto é gerar um dump de memória, da seguinte forma:

-XX:+HeapDumpOnOutOfMemoryError

Isso irá gerar um dump toda vez que erros de OutOfMemoryError ocorrerem.

Para analisar este arquivo você pode utilizar o Eclipse Memory Analyser, assim será possível identificar exatamente qual classe e/ou objeto está causando o estouro de memória no Java e efetivamente corrigir o problema.

Petter Rafael

Desenvolvedor Web atua com as tecnologias Java e PHP apoiadas pelos bancos de dados Oracle e MySQL. Além dos ambientes de desenvolvimento acima possuiu amplo conhecimento em servidores Apache/Tomcat, Photoshop, Arte & Foto, Flash e mais uma dezena de ferramentas e tecnologias emergentes. Atualmente colabora com o Viablog escrevendo sobre programação e tecnologia.
ViamaisBLOG
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.