Erro PermGen Space.(RESOLVIDO)

11 respostas
E

Bom dia pessoal, já procurei em todos os topicos aki do guj, todos os links que passaram nos topicos, e nada
explica com clareza ou passo a passo como solucionar este erro.

Estou criando um projetinho web com Hibernate, Spring Security, PrimeFaces, Eclipse Indigo e Tomcat 7
estava indo tudo bem, so que agora está ocorrendo o erro citado.
Já conheço o erro e suas definições, so pretciso corrigi lo,
ja tentei alterar o catalina.bat, já tentei passar os argumentos -XX:PermSize=256M -XX:MaxPermSize=512M pelo Eclipse e nada.

Duvidas:

Como alterar o catalina.bat, onde colocar os argumentos, depois de qual linha, na frente de JAVA_OPTS ou CATALINA_OPTS no final da pagina ???
No eclipse…
MENU ECLIPSE > WINDOW > PREFERENCES > INSTALLED JRE´S > Clicar na JRE usada > EDIT > ?Em: Default VM Arguments:? insira a linha: -Xms1564m -Xmx1564m
Em Default VM Arguments, no campo Variables, selecionar variavel, criar variavel ??? E só colocar o argumento e dar Finish.

Esta muito vago para quem está começando a programar em JAVAEE…

11 Respostas

L

Eu já tive esse erro muitas vezes enquanto programava.
Na época, possuia um servidor virtualizado com 2,5GB de RAM.

Fiz a seguinte configuração:

-Xms: 512M
-Xmx: 512M
-Xmn: 256M
-XXMaxPermsize: 768M
-XXMinPermsize: 512M

O motivo dessas configurações? A questão de como a JVM gerencia a memória disponível.
Mais detalhes: http://blog.caelum.com.br/comecando-com-parametros-e-configuracoes-da-jvm/

No eclipse, veja as configurações em: Help -> About Eclipse -> Installation Details -> Configuration it

Qualquer coisa, pergunte aí! =)

L

Pelo que entendi, você está utilizando o Eclipse, certo?

Já leu http://wiki.eclipse.org/FAQ_How_do_I_increase_the_permgen_size_available_to_Eclipse%3F ?

L

Eu raramente uso o eclipse. Tenho maior experiência com o Netbeans e o acho melhor para programar para WEB.

Entretanto, os parâmetros de configuração são os mesmos. O link que passei tem os detalhes de pq essa configuração foi escolhida por mim.

V

Leia:

E depois:

  1. Inclua na sua VM a opção:
    -XX:-HeapDumpOnOutOfMemoryError

  2. Quando o problema ocorrer, abra o arquivo de dump no profiler do Netbeans:
    http://netbeans.org/features/java/profiler_pt_BR.html

E aí vem a parte investigativa. Basicamente, siga os passos do segundo artigo descrito naquele post, mas usando o profiler do Netbeans (que é mais fácil e mais rápido) no lugar do JHat.

Só aumentar o PermGen space vai apenas protelar o problema, não corrigi-lo.

E

Pessoal, não consegui resolver ate agora, o que pode ser…
outras aplicações executam normalmente, sendo elas maiores em processamento, e
com a mesma base tanto nos DAOs, Classes, Hibernate, Spring Security, JNDI, PrimeFaces.

Duvida, devo modificar o catalina.bat ou o eclipse.ini ?

Eclipse configurado

Eclipse Insttalations Details
…org.eclipse.epp.package.jee.product
org.eclipse.platform
-Dosgi.requiredJavaVersion=1.5
-Xms124m
-Xmx512m

-vm
C:\Windows\system32\javaw.exe
eclipse.home.location=file:/C:/Program Files/eclipse/
eclipse.launcher=C:\Program Files\eclipse\eclipse.exe
eclipse.launcher.name=Eclipse
eclipse.p2.data.area=@config.dir/…/p2
eclipse.p2.profile=epp.package.jee
eclipse.product=org.eclipse.epp.package.jee.product
eclipse.startTime=1343324216491
eclipse.vm=C:\Windows\system32\javaw.exe
eclipse.vmargs=-XX:MaxPermSize=1024m

Já no catalina.bat não entendi onde colocar os parametros, se algum puder me ajudar, abraçuuuuuuu

Agradeço a todos…

E

lion.dev , onde você colocou esses valores…

-Xms: 512M
-Xmx: 512M
-Xmn: 256M
-XXMaxPermsize: 768M
-XXMinPermsize: 512M

preciso de mais detalhes para ver se estou fazendo certo…

Obrigadooo

L

eduardimaa:
lion.dev , onde você colocou esses valores…

-Xms: 512M
-Xmx: 512M
-Xmn: 256M
-XXMaxPermsize: 768M
-XXMinPermsize: 512M

preciso de mais detalhes para ver se estou fazendo certo…

Obrigadooo

Estes valores são colocados no arquivo eclipse.ini.

E

ok vou tentar dnovo, projeto esta parado por causa deste erro…qualquer coisa volto a perguntar…abraçuuu

V

Tentou alguma coisa do que passei? Ou vai ficar tentando tapar o sol com a peneira?

E

Boa noite, viniGodoy, li os artigos sim, e bem legal mesmo.
estou tentando aki fazer os passo a passo, creio que vai ser um pouko complicado para min,
estou revendo o codigo fonte da aplicação tambem, de acordo com as dicas passada pelo Frank Kieviets.
Vamus ver no que vai dar ne…

Obrigado pela atenção mais uma vez…valeu…

E

Pessoal, consegui resolver,verifiquei novamente todo o código da minha aplicação,
onde percebi que tinha alguma referência que não estavam sendo usadas, corrigindo esse
detalhes a aplicação está executando normalmente.
Depois de algumas pesquisas na net, percebi que não vale a pena aumentar a memória da JVM (no meu caso ) bastava
apenas dar uma “garibada” no código fonte.

Agradeço a todos que me ajudaram, e valeu ai viniGodoy…pelos links…ajudou bastante…

Criado 26 de julho de 2012
Ultima resposta 27 de jul. de 2012
Respostas 11
Participantes 4