Erro na execução Tomcat: Java heap space

1. Erro na execução Tomcat: Java heap space

Marcelo A. Lopes
Mal246

(usa Slackware)

Enviado em 19/06/2008 - 15:42h

Estou procurando a algum tempo como resolver o problema, mas não consigo.
Alguém tem alguma idéia?

Utilizo:
- Slackware;
- Apacha Tomcat 5.5.9;
- Java (jdk1.5.0_03)

Às vezes o Tomcat pára de responder e no "catalina.out" tenho a seguinte informação:
"
SEVERE: An exception or error occurred in the
container during the request processing
java.lang.OutOfMemoryError: Java heap space
Jun 19, 2008 2:42:21 PM org.apache.coyote.http11.Http11Protocol pause
"

Acredito que o problema é a quantidade de memória disponível para o Tomcat - por padrão é alocado no máximo 64MB para a máquina virtual:
"
JVM
Free memory: 18.17 MB Total memory: 36.97 MB Max memory: 63.56 MB
"

Não consigo fazer com que o Tomcat fique com 128 MB disponível, por exemplo.
Alguém saberia? :)
Agradeço a todos.



  


2. Re: Erro na execução Tomcat: Java heap space

Marcos Miras
marcosmiras

(usa CentOS)

Enviado em 19/06/2008 - 16:44h

Edite o arquivo:

# vi /path/tomcat/bin/setclasspath.sh

Procure a linha JAVA_OPTS, que são as opções do Java, existirão duas variáveis que são:
Xms - QUantidade mínima a utilizar
Xmx - Quantidade máxima a utilizar

Ficando, como neste exemplo:
# cat /path/tomcat/bin/setclasspath.sh | grep JAVA_OPTS

JAVA_OPTS="-server -Xms256m -Xmx512m"

Aqui ele está usando 256mb como mínimo e 512mb como limite.

[]'s
Marcos Miras
atmsystem.com.br


3. Solucionado.

Marcelo A. Lopes
Mal246

(usa Slackware)

Enviado em 19/06/2008 - 20:25h

Muito obrigado Marcos.

Não alterei o arquivo /path/tomcat/bin/setclasspath.sh porque não encontrei nenhuma linha com -Xms nem -Xmx.

Mas com a sua dica fiz uma alteração no arquivo /path/tomcat/bin/jsvc.sh.
Estava assim:
"
# Start Tomcat
#
cd /hda3/local/www/htdocs/jakarta-tomcat-5.5.9
./bin/jsvc -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar \
-outfile ./logs/catalina.out -errfile ./logs/catalina.err \
org.apache.catalina.startup.Bootstrap -home $JAVA_HOME
"

Então acrescentei as instruções -Xms e -Xmx:
"
# Start Tomcat
#
cd /hda3/local/www/htdocs/jakarta-tomcat-5.5.9
./bin/jsvc -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar \
-outfile ./logs/catalina.out -errfile ./logs/catalina.err \
-Xms128M -Xmx256M -Xincgc -XX:MaxPermSize=128M \
org.apache.catalina.startup.Bootstrap -home $JAVA_HOME
"

Agora no Status do tomcat aparece:
"
JVM
Free memory: 59.18 MB Total memory: 255.93 MB Max memory: 255.93 MB
"

Minha aplicação parou de abendar :)
Valeu mesmo.
t+







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts