ola pessoa é o seguinte estou desenvolvendo um site com… vou falar tudo : [hibernate,glassfishv2,jsp,extjs,dwr,jpa hibernate,mozilla 3.1] e estou com muita falta de memoria a maquina é um dual core de 1gb da dell (optiplex 330) e ta dificil desenvolver em java
,
reparei no processo que tem uns 3 java.exe aberto creio eu que é do glassfish, netbeans e a Maquina virtual. apos dar o erro de PermGen space, fecho o netbeans e tbm o glassfish e fica um java.exe de quase 400mb de memoria e só sai do processo se eu mata-lo é comum isso?
Muita falta de memoria pra desenvolver! erro:PermGen space
23 Respostas
cara pra desenvolver com netbeans + varios frameworks 1 giga é poco… especialmente se vc tiver no vista…
quanto a esse java.exe de 400 mega… isso é realmente estranho… eu tenho o netbeans full aki e mesmo quando tava com projetos aberto com o matisse bem como com o jsf, struts, hibernate… bem por teste mesmo… eu com mto sacrificio conseguiafazer o java.exe do neetbeans chegar aos 400 mega(a maquina ficava uma carroça mesmo)
se mesmo fechando esse cara ta ai… é bem estranho mesmo, comigo aqui isso nao acontece…
é simples…
deixa todos os programas aberto, mata esse serviço de 400MB e veja qual programa é finalizado.
OBS: de uma olhada nas suas configurações…uma máquina dessa deveria dar conta.
Abs.
PermGenSpace é um espaço de geração permanente (nunca é desalocado) da JVM.
A quantidade de memória física que vc possui não é a mesma da JVM. Quando uma JVM é iniciada ela possui um limite máximo de memória e de PermGen para utilizar. Procure no fórum ou na internet com certeza encontrará os parâmetros necessários para aumentar o tamanho da PermGen e da memória da JVM.
sim eu ja echei coisas sobre pergem space para aumentar mas o mais estranho é o 400mb de java!! :!: :shock:
é simples…
deixa todos os programas aberto, mata esse serviço de 400MB e veja qual programa é finalizado.OBS: de uma olhada nas suas configurações…uma máquina dessa deveria dar conta.
Abs.
fiz, não foi o netbeans parece ser a maquina virtual mesmo
PermGenSpace é um espaço de geração permanente (nunca é desalocado) da JVM.A quantidade de memória física que vc possui não é a mesma da JVM. Quando uma JVM é iniciada ela possui um limite máximo de memória e de PermGen para utilizar. Procure no fórum ou na internet com certeza encontrará os parâmetros necessários para aumentar o tamanho da PermGen e da memória da JVM.
achei algumas coisas sobre isso mas tem como vc me dar um exemplo? é linha de codigo que coloca no sistema? é via comando etc…
cara pra desenvolver com netbeans + varios frameworks 1 giga é poco… especialmente se vc tiver no vista…quanto a esse java.exe de 400 mega… isso é realmente estranho… eu tenho o netbeans full aki e mesmo quando tava com projetos aberto com o matisse bem como com o jsf, struts, hibernate… bem por teste mesmo… eu com mto sacrificio conseguiafazer o java.exe do neetbeans chegar aos 400 mega(a maquina ficava uma carroça mesmo)
se mesmo fechando esse cara ta ai… é bem estranho mesmo, comigo aqui isso nao acontece…
é muito interessante mesmo eu estou no inicio do site eu to achando que pode ser um filter que eu implementei pra controlar o fechamento e abertura de sessões
só de dar um deploy no sistema veja uns system.ou.println que eu deu dentro do filter será que é normal
:::::::::: Inicializando filter...
SMGT0007: Self Management Rules service is enabled
Application server startup complete.
:::::::::: Fechando session...
deployed with moduleid = Projeto
:::::::::: Inicializando filter...
:::::::::: Pegando session e iniciando transaction...
:::::::::: Commit transaction...
:::::::::: Fechando session...
:::::::::: Pegando session e iniciando transaction...
:::::::::: Commit transaction...
:::::::::: Fechando session...
:::::::::: Pegando session e iniciando transaction...
:::::::::: Commit transaction...
:::::::::: Fechando session...
:::::::::: Pegando session e iniciando transaction...
:::::::::: Commit transaction...
:::::::::: Fechando session...
:::::::::: Pegando session e iniciando transaction...
:::::::::: Commit transaction...
:::::::::: Fechando session...
:::::::::: Pegando session e iniciando transaction...
:::::::::: Commit transaction...
:::::::::: Fechando session...
:::::::::: Pegando session e iniciando transaction...
:::::::::: Commit transaction...
:::::::::: Fechando session...
:::::::::: Pegando session e iniciando transaction...
:::::::::: Commit transaction...
:::::::::: Fechando session...
:::::::::: Pegando session e iniciando transaction...
:::::::::: Commit transaction...
:::::::::: Fechando session...
:::::::::: Pegando session e iniciando transaction...
:::::::::: Commit transaction...
:::::::::: Fechando session...
tenta algo assim na linha de comando:
start “eclipse.exe” -XX:MaxPermSize=194M
tenta algo assim na linha de comando:start “eclipse.exe” -XX:MaxPermSize=194M
mas eu uso netbeans
putz cara, desculpa…nem lembrei na hora de postar.
Mas deve ter algo parecido no Netbeans.
Vc já tentou setar o permsize?
-Xms256m -Xmx1024m
[]'s
Sävio
Vc já tentou setar o permsize?
-Xms256m -Xmx1024m[]'s
Sävio
onde faz?
na hora de inicializar seu serviço que usa java, tipo a IDE (no seu caso o NetBeans). Coloque essa instrução na frente do comando do executável.
ok mas isso só funcionara no desenvolvimento mas quando estiver em produção no servidor?
ok mas isso só funcionara no desenvolvimento mas quando estiver em produção no servidor?
ok mas isso só funcionara no desenvolvimento mas quando estiver em produção no servidor?
desculpa ao moderador pois repliquei as mensagens pois não reparei a paginação e achei que não estava gravando pois não estava aparecendo na pagina se houver como excluir esta ok
Sim, bem coerente a pergunta :-). Nesse caso vc subirá os serviços Java (Jboss/tomcat) setando o permsize.
mas deve ter alguma coisa que esta inchando a maquina eu to achando que é esse controle de sessoes que é filtro mais hibernateUtil alguem teve problema com HibernateSessionRequestFilter que esta na pagina do hibernate?
Vá na pasta que o NetBeans está instalado, procure a pasta "etc" e dentro dela vai ter um arquivo chamado netbeans.conf, deve ser mais ou menos como esse:
# ${HOME} will be replaced by JVM user.home system property
netbeans_default_userdir="${HOME}/.netbeans/6.5"
# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options="-J-client -J-Xverify:none -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true"
# Note that a default -Xmx is selected for you automatically.
# You can find this value in var/log/messages.log file in your userdir.
# The automatically selected value can be overridden by specifying -J-Xmx here
# or on the command line.
# If you specify the heap size (-Xmx) explicitely, you may also want to enable
# Concurrent Mark & Sweep garbage collector. In such case add the following
# options to the netbeans_default_options:
# -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled
# (see http://wiki.netbeans.org/wiki/view/FaqGCPauses)
# Default location of JDK, can be overridden by using --jdkhome <dir>:
netbeans_jdkhome="/usr/java/latest"
# Additional module clusters, using ${path.separator} (';' on Windows or ':' on Unix):
#netbeans_extraclusters="/absolute/path/to/cluster1:/absolute/path/to/cluster2"
# If you have some problems with detect of proxy settings, you may want to enable
# detect the proxy settings provided by JDK5 or higher.
# In such case add -J-Djava.net.useSystemProxies=true to the netbeans_default_options.
Na opção "netbeans_default_options" você pode passar esses parâmetros.
vlw mauricio
Vc já tentou setar o permsize?
-Xms256m -Xmx1024m[]'s
Sävio
Isso não vai solucionar. Vai apenas adiar o problema. Eu até hoje não encontrei solução pra melhorar isso durante o desenvolvimento onde temos diversos deploies.
Utilize a Oracle JRockit JVM.
Fernando