Estive observando um sistema que estou desenvolvendo através do sistema Visual VM.
Para quem não sabe VisualVM é uma ferramenta para observar aplicações Java, ele se encontra dentro da JDK\bin\, e disponibiliza várias informações, classes, objetos, memória, etc.
Bom, com ele eu me deparei com um suposto problema, no qual meu software estava cada vez mais aumentando o consumo de memória, e o GC não estava dando conta de liberar os recursos utilizados pelo sistema. Postei a dúvida em fóruns, procurei no código referências a objetos que não estava mais utilizando, etc etc etc. Como não obtive sucesso resolvi fazer mais alguns testes no Visual VM pois tinha notado que meu código não poderia estar errado. Para esse novo teste resolvi estipular a quantidade de memória que o meu sistema ira utilizar.
Para fazer isso utilizando o Netbeans fiz da seguinte forma:
1 – Clique invertido sobre o seu projeto;
2 – Clique em propriedades;
3 – Em categorias selecione “executar”;
4 – No campo Opções da VM coloque “-Xms64m –Xmx128m”;
Pronto!
Seu sistema estará alocando no mínimo 64 e no Maximo 128 megas de memória;
Xms
Xmx
Fazendo isso percebi que o GC trabalhava muito mais do que antes, mas não deu estouro de memória, isso porque o GC é mais esperto do que eu pensava, e na realidade ele vai limpando a memória de acordo com a necessidade.
Links.:
http://java.sun.com/javase/6/docs/technotes/guides/visualvm/index.html
Nenhum comentário:
Postar um comentário