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

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

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!

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

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!

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.

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.

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

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!!

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…

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

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…