Tomcat 5.0 Java Out Of Memory

4 respostas
E

Ola,

Tenho uma aplicacao web (servlet) rodando em um servidor Tomcat 5.0.25 em um Fedora Core 2 Linux com JDK 1.5.0.

Os usuarios vao usando o sistema e, de vez em quando, as vezes, apos dias rodando perfeitamente, da um erro no log do Tomcat do tipo:
“Java out of memory heap space”
Isso nunca aconteceu com minhas aplicacoes rodando em Tomcat 3.x ou 4.x. Agora que migrei para o 5.x comecou isso.

Sera que eu tenho que aumentar a area de heap atraves de algum parametro do Java para o Tomcat?

Ou sera que o JDK nao esta sabendo fazer o “garbage collection” corretamente?

Isso nao deveria dar problema pois nao sao muitos usuarios, e como é uma aplicacao web, é baseada na ideia de request-response, ou seja, apos a servlet responder, a thread que ela esta associada deveria ser limpa automaticamente da RAM.

Alguem tem alguma ideia do problema e sugestoes de como resolver?

Agradeco desde ja…

4 Respostas

E

Um detalhe que havia me esquecido de mencionar. Eu uso o jsvc para executar o Tomcat, atraves da seguinte linha de comando:

./bin/jsvc -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar
-outfile ./logs/catalina.out -errfile ./logs/catalina.err
org.apache.catalina.startup.Bootstrap

Sera que eu poderia incluir em algum lugar os parametro -Xms e -Xmx para aumentar a memoria usada pelo aplicativo?

_fs

É o mesmissimo aplicativo, com a mesma quantidade de usuários? O que mudou foi apenas a versão do Tomcat?

T

Parece que você pode adicionar o parâmetro -Xmx sem problemas.

http://jakarta.apache.org/commons/daemon/jsvc.html

./jsvc -help
Usage: jsvc [-options] class [args...]

Where options include:

    -jvm <JVM name>
        use a specific Java Virtual Machine. Available JVMs:
...
    -X<option>
        set Virtual Machine specific option
baladao

Estou com o mesmo problema, descobri agora esse daemon jsvc, estava com esperanças de que resolveria o problema, mas se vc já está usando ele e o problema ocorre também volto ao plano anterior.

Apache - JK - Tomcat (node1, node2 e node3 em loadbalance)

Criado 25 de novembro de 2004
Ultima resposta 12 de dez. de 2006
Respostas 4
Participantes 4