Java.lang.OutOfMemoryError: Java heap space - Como resolver?

10 respostas
M

Lista,

Tenho uma página jsp na minha aplicação que apresenta o erro acima.
Alguem sabe como resolver e se existe algum lugar no tomcat conde é configurado esse parâmetro? Caso exista, como configurar?

Muito obrigado,

Marques

10 Respostas

C

Sua aplicaçao está gastando toda memoria que vc tem disponivel na máquina e ainda está querendo mais. Por isso dá esse “Estouro de Memoria”.

Seria o caso de vc dar uma otimizada no seu codigo fazendo-o ganhar em desempenho e melhorar o consumo de memoria.

Verifique quais os pontos do seu codigo pode estar gastando memoria excessiva e tente melhorar o algoritmo;

Observe também se seu codigo nao está concatenando Strings com o operador “+” tipo:

String s = "";
for (int i = 0 ; i<1000 ; i++){
s = s + "texto";
}

troque por:

StringBuffer s = new StringBuffer();
for (int i = 0 ; i<1000 ; i++){
s.append("texto");
}

Falow!

J

Você pode colocar mais memoria no seu tomcat, no arquivo “catalina.sh” que se encontra na pasta /bin dentro do tomcat edite a linha

CATALINA_OPTS="-Xmx900M "

Acrecentanto esta variavel vc consegue colocar mais memoria no TomCat

Espero poder ajudar

K

seguinte galera…
li em alguns tópicos sobre esse erro… mas não consegui resolver…
meu ambiente é…
Eclipse 3.2, Tomcat 5.5 é uma executavel não possivel o catalina.sh
SO Windows 2000 Professional.
Estou fazendo uma aplicação Web que tem uma sistema de Upload.

onde eu configuro o CATALINA_OPTS ou a memória da JVM??
esse erro não para!!

vlw!

J

Não sei bem direito o caminho, mas qndo o TomCat e istalado no Windows, se vc for em Iniciar/Programas/Apache Tom Cat/ vai encontrar uma ferramenta de configuração, nesta ferramenta existe uma aba com os parametros que vc tem que passar para JVM.

K

na Aba Java ele só pede o caminho da DLL da JVM tem uma aba Startup do tomcat, mas não vi nada de parametros.

J

coloca a quantidade que vc que de memoria em “Maximum Memory pool”

K

vlw julianoeustaquio !! eu tinha até colocado o valor lah… porém eu tava usando o tomcat dentro do eclipse qnd usei fora funcionou legal!!!

e desconri q p usar ele dentro do eclipse eu preciso configurar da seguinte forma…

WINDOW - > PREFERENCES - > TOMCAT -> JVM SETTINGS
escolha a JVM na caixa Append to JVM Parameters clica em ADD e coloque
-Xms000m -Xmx000m

ONDE 000 são os valores que o usuário desejar!

vlw pela ajuda!!

A

Bom dia…

Tentei utilizar alguns comandos para aumentar o tamanho do heap da jvm mas sem sucesso…
sempre que tento alterar o tamanho da heap, mesmo após tentar re-inicializar o computador, o tamanho ainda esta o mesmo…
estou tentando visualizar o tamanho da heap usando o “jconsole”, na aba “VM Summary” o parametro “Maximum heap size:
65.088 kbytes” sempre continua o mesmo…

preciso alterar o tamanho da heap em uma maquina que executa um servidor web…
( configurar isso na IDE local foi simples… )

alguma dica?
grato até o momento…

OBS: tentei usar:
java -Xms128m -Xmx256m
start javaw -Xmx200m
mas nada… acho que estou esquecendo algum parametro adicional…

P

Para configurar a memória do Tomcat pelo Eclipse va em:

Window --> Preferences -->Tomcat --> JVM Settings --> e coloca o tanto de memória que necessita no campo:

Append to JVM Parameters ex 512MB:

-Xmx512M
A

Boa Tarde

obrigado pela atenção…
O detalhe é que meu tomcat esta em um servidor dedicado somente a ele,
ou seja, acho que preciso aumentar o tamanho da heap no server…
eu inicializo o tomcat por linha de comando… “startup.bat”…

em minha IDE local ( Eclipse ) esses parametros já estão configurados,
ou seja, o Eclipse já esta usando mais memoria para a heap…

meu pequeno problema esta em fazer isso na JVM do servidor…

Grato até o momento…

Criado 18 de setembro de 2006
Ultima resposta 25 de abr. de 2008
Respostas 10
Participantes 6