Javafree
 Forum   Topics   Author   Post 
Java Básico Aplicação utilizando muita memória gabrielmsouza [quote="staroski"]System.gc() apenas liga uma flag para o GC executar assim que possível. System.runFinalization() liga uma flag para disparar os métodos finalize() pendentes assim que possível. Mas ambos não forçam absolutamente nada, você não tem controle sobre o gerenciamento de memória. Tenha em mente que esses 90MB representam o espaço alocado pelo sistema operacional para a execução da Máquina Virtual Java, lembrando que Java é interpretado, você não executa código nativo diretamente, seu programa é executado dentro de uma máquina virtual, que consome bastante memória. Mas se você quiser monitorar a memória que seu aplicativo está consumindo dentro da máquina virtual, utilize os métodos totalMemory() e freeMemory() da classe Runtime. [/quote] Bom dia! Encontrei o problema para o alto consumo de memória. Eu havia feito uma rotina onde a cada 5 segundos rodava um TimerTask, este TimerTask executava ao mesmo tempo, 2 select ao banco de dados. Eu já imaginava que este era o problema, porém, achei que poderia ter uma "outra saída".
Java Básico Aplicação utilizando muita memória gabrielmsouza Fiz uma aplicação em linguagem JAVA, ela esta funcionando tudo certo, porém, reparei pelo gerenciador de tarefas do windows que ela usa muita memória, e as vezes ela da a louca e começa a aumentar memória. Em várias partes do sistema, eu chamo o: System.gc(); System.runFinalization(); Segundo o que pesquisei, estes comandam forçam a chamada do Garbage Collector. Também uso um: finally{ this.pst.close(); this.rs.close(); } depois de fazer comunicação com o banco de dados (USO PostgreSQL). Minha dúvida é a seguinte, mesmo fazendo todos estes processos, a aplicação ainda usa muito memória (na média de 90MB). Teria algum programa ou alguma forma de eu descobrir o que esta ocupando tanta memória na minha aplicação?
Goto page 1