Blog

Problema de memória com Java no 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.