Blog
Problema de memória com Java no eclipse.
TAGs: Desenvolvimento Grails Java Eclipse
Ola hoje irei demonstrar como aumentar a memória do eclipse para editar os arquivos .java e como aumentar a memória da JVM quando o Java do eclipse estiver rodando.
Eu uso o myeclipse 6.6.0 que este instalado no seguinte diretório: C:\Users\HomeUser\AppData\Roaming\MyEclipse 6.6\eclipse.
Neste diretório temos o arquivo eclipse.ini que é o arquivo de inicialização do eclipse.
Mais porque mexer neste tal de eclipse.ini?
Por padrão, o Eclipse vai atribuir até 256 ate 512 megabytes de memória Java heap. Isso deve ser suficiente para a maioria das tarefas de desenvolvimento. No entanto, dependendo do JRE que você está executando (no meu caso), o número de plugins que você está usando, e o número projetos abertos mais os arquivos que você estará trabalhando, podem não ser suficiente. Com isso, o indicado seria você personalizar as configurações do Eclipse.
Agora vamos saber quais parâmetros a serem alterados:
-Xms Memória do Java ao iniciar aplicação, ou seja, quando se inicia o eclipse e se você tem este valor definido como 512, você terá inicialmente alocado na sua maquina 512 para o eclipese.
-Xmx Memória limite do Java a ser definida na inicialização da aplicação, ou seja, este parâmetro é o limite Maximo que o Java chegará.
Basicamente com este dois parâmetros você pode aumentar a memória do seu eclipse quando estiver rodando.
Minha maquina de trabalho é um Dual core 1.86, 2GB de RAM para ela foi definido a seguinte configuração:
-Xms128m
-Xmx1100m
Com isso o Java do meu eclipse inicializará com 128 mega e chegará ao Maximo a 1100 mega (1,074 GB) de memória.
Agora para aumentar a memória para o Java que o meu jboss usa em execução tive que adicionar os mesmos parâmetros para o run do jboss:
Já em:
window -> Preferences -> Java -> Intalled JREs
E clique em editar o seu jdk/jre e adicione os defaults VM arguments:
-Xms128m -Xmx1100m
Você também pode setar a memória permanente do Java caso apareça algum erro como java.lang.OutOfMemoryError: PermGen space (futuramente irei fazer um post apenas para o permGen), para definir o permgen é o mesmo processo da memória do Java temos os seguintes parâmetros:
-XX:PermSize=128m
-XX:MaxPermSize=512m
Sendo PermSize o valor inicial para o PermGen e MaxPermSize o valor maximo setado que ele pode chegar.
Com isso quando você rodar seu jboss ele ira usar o mesmo principio de memoria de quando você setou para o eclipse.
Bom dia galera ate o próximo post,
Márcio José da Silva.