Liberar memória do Tomcat

Olá pessoal,

Tenho uma aplicação web usando JSP, JSTL, Servlets, JavaBeans acessando banco Firebird em servidor Win2003.

Acontece que a cada consulta ao banco o processo tomcat5.exe vai aumentando seu uso de memória até atingir o limite máximo que coloquei de 256MB e assim dando erro.

Com o processo fbserver.exe também acontece o mesmo problema.

Só consigo fazer liberar memória quando reinicio o Tomcat.

Coloquei o método System.gc() antes de realizar a consulta mas não resolveu, em nenhum momento é feita a coleta de lixo, a utilização da memória só vai aumentando, nunca diminui.

Alguém sabe como posso resolver isso?

Muito obrigado!

Não sei porque mas este problema estava acontecendo com a versão 2.0 do firebird. Tente colocar a versão 1.5! No projeto que estou trabalhando a solução foi esta!!!

System.gc:

  • Não fecha conexões abertas
  • Não limpa variáveis de sessões abandonadas

Ou seja, é igual àquela faxineira que só limpa o pó que está no chão.
Ela não joga fora a papelada inútil que está sobre sua mesa (você é que tem de decidir que papéis são úteis ou inúteis).

Obrigado pela atenção.

Utilizo a versão 1.5 do firebird, deve ser então algo do meu sistema mesmo que não estou descartando após utilizar, preciso fazer uma revisão.

Estou acostumado com o PHP que não precisa me preocupar com isso.

Valeu!

Dá uma lida nesse artigo, fala sobre OutOfMemorys de mentira.

[]'s