É surpreendente que a questão fechada como não construtiva tem uma classificação tão alta ...
bancer
1
Esta pergunta foi feita quando a resposta mais recente para uma pergunta como essa em 2008 foi eclipsezone.com/eclipse/forums/t20732.html . O conjunto de respostas aumentou porque novas versões do eclipse e java foram lançadas, atualizações subsequentes mantiveram as respostas atualizadas. Fechar a pergunta resultará em respostas obsoletas. A única maneira que eu posso pensar em reformular esta questão seria a de torná-lo versão específica, o que eu acho que é pior, uma vez que poderia causar várias perguntas para responder, basicamente, o mesmo problema
Craig Angus
10
Concordo - fechar perguntas como essa é loucura - loucura eu digo - perguntas como essa são as mais úteis e interessantes do site!
Luigi Plinge
3
De acordo com o motivo do fechamento, "esperamos que as respostas envolvam geralmente fatos, referências ou conhecimentos específicos". Eu acho que encerrar esta questão é um exagero. Sejamos cuidadosos usando os poderes da censura. Eu diria que, em caso de dúvida, é melhor "deixar o conhecimento livre" e abrir.
luiscolorado
Respostas:
315
É essa época do ano novamente: "eclipse.ini take 3" as configurações voltam!
e usando o Sun-Oracle JVM 1.6u21 b7 , lançado em 27 de julho (algumas opções proprietárias da Sun podem estar envolvidas)
( por "otimizado", quero dizer capaz de executar um Eclipse completo em nossa estação de trabalho de baixa qualidade no trabalho, algum P4 antigo de 2002 com 2Go RAM e XPSp3. Mas também testei essas mesmas configurações no Windows7 )
Eclipse.ini
AVISO : para plataformas não Windows, use a opção proprietária da Sun em -XX:MaxPermSizevez da opção proprietária do Eclipse --launcher.XXMaxPermSize.
Ou seja: A menos que você esteja usando a versão 7 mais recente do jdk6u21 . Veja a seção Oracle abaixo.
Nota:
Adapte-o p2.reconciler.dropins.directorya um diretório externo de sua escolha.
Veja esta resposta SO . A idéia é poder descartar novos plugins em um diretório independentemente de qualquer instalação do Eclipse.
As seções a seguir detalham o que há nesta eclipse.ini arquivo.
O temido Oracle JVM 1.6u21 (pré-build 7) e o Eclipse travam
Andrew Niefer me alertou sobre essa situação e escreveu um post no blog sobre um argumento vm não padrão ( -XX:MaxPermSize) e pode fazer com que vms de outros fornecedores não iniciem.
Mas a versão eclipse dessa opção (--launcher.XXMaxPermSize ) não está funcionando com o novo JDK (6u21, a menos que você esteja usando o 6u21 build 7, veja abaixo).
o finalA solução está no Wiki do Eclipse e no Helios no Windows com apenas 6u21 pré-build 7 :
É isso aí. Nenhuma configuração para ajustar aqui (novamente, apenas para o Helios no Windows com um 6u21 pré-build 7 ).
Para a plataforma não-Windows, você precisa reverter para a opção proprietária Sun -XX:MaxPermSize.
Atualização u21b7, 27 de julho : a Oracle regrediu a alteração para a próxima versão do Java 6 e não a implementará novamente até o JDK 7 .
Se você usar o jdk6u21 build 7 , poderá reverter para a --launcher.XXMaxPermSize(opção eclipse) em vez de -XX:MaxPermSize(a opção não padrão).
A detecção automática queeclipse.exeSun Microsystems ocorre no calço do iniciador C ainda procurará a " " sequência, mas com 6u21b7, ela agora funcionará - novamente.
Por enquanto, ainda mantenho a -XX:MaxPermSizeversão (porque não tenho idéia de quando todo mundo vai lançar o JDK certo ).
Implícito `-startup` e` --launcher.library`
Ao contrário das configurações anteriores, o caminho exato para esses módulos não é mais definido, o que é conveniente, pois pode variar entre diferentes versões do Eclipse 3.6.x:
startup: se não for especificado, o executável procurará no diretório plugins o org.eclipse.equinox.launcherpacote com a versão mais alta.
launcher.library: se não especificado, o executável procura no pluginsdiretório o org.eclipse.equinox.launcher.[platform]fragmento apropriado com a versão mais alta e usa a biblioteca compartilhada nomeada eclipse_*dentro.
Use JDK6
O JDK6 agora é explicitamente necessário para ativar o Eclipse:
-Dosgi.requiredJavaVersion = 1.6
Esta questão SO relata uma incidência positiva para o desenvolvimento no Mac OS.
+ UnlockExperimentalVMOptions
As seguintes opções fazem parte de algumas das opções experimentais da Sun JVM.
Como lembrete, o G1 é o novo coletor de lixo em preparação para o JDK 7, mas já usado no release da versão 6 do u17.
Abrindo arquivos no Eclipse a partir da linha de comandos
Veja a postagem do blog de Andrew Niefer relatando esta nova opção:
--launcher.defaultAction
openFile
Isso informa ao iniciador que se for chamado com uma linha de comando que contenha apenas argumentos que não começam com " -", esses argumentos deverão ser tratados como se seguissem " --launcher.openFile".
eclipse myFile.txt
Esse é o tipo de linha de comando que o iniciador receberá no Windows quando você clicar duas vezes em um arquivo associado ao eclipse ou selecionar arquivos e escolher " Open With" ou " Send To" Eclipse.
Os caminhos relativos serão resolvidos primeiro no diretório de trabalho atual e, segundo no diretório do programa eclipse.
Veja o bug 301033 para referência. Originalmente bug 4922 (outubro de 2001, corrigido 9 anos depois).
p2 e o prompt de diálogo não assinado
Se você está cansado desta caixa de diálogo durante a instalação de seus muitos plugins:
Eu quero dizer que a pesquisa de segurança apóia o fato de que menos prompts são melhores.
As pessoas ignoram as coisas que surgem no fluxo de algo que desejam realizar.
Para a 3.6, não devemos exibir avisos no meio do fluxo - não importa o quanto simplifiquemos, as pessoas simplesmente os ignoram.
Em vez disso, devemos coletar todos os problemas, não instalar esses pacotes com problemas e, em vez disso, levar o usuário de volta a um ponto no fluxo de trabalho em que eles podem consertar - adicione confiança, configure a política de segurança de maneira mais flexível etc. Isso é chamado de 'seguro' estadiamento ' .
Essas opções não estão diretamente nas opções eclipse.iniacima, mas podem ser úteis se necessário.
O problema do `user.home` no Windows7
Quando o eclipse é iniciado, ele lê seu arquivo de armazenamento de chaves (onde as senhas são mantidas), um arquivo localizado em user.home.
Se, por algum motivo, user.homenão se resolver adequadamente em um caminho completo, o Eclipse não será iniciado.
Inicialmente levantado nesta questão de SO , se você enfrentar isso, precisará redefinir o arquivo keystore para um caminho explícito (não há mais user.home para resolver no início)
Aguarde, há mais de um arquivo de configuração no Eclipse.
se você adicionar à sua eclipse.iniopção:
-debug
, ative o modo de depuração e o Eclipse procurará outro arquivo de configuração: um .optionsarquivo em que você possa especificar algumas opções OSGI.
E isso é ótimo quando você adiciona novos plugins através da pasta dropins.
Adicione no seu arquivo .options as seguintes configurações, conforme descrito nesta postagem do blog " Diagnóstico de Dropins " :
O P2 informará quais pacotes foram encontrados na dropins/pasta, qual solicitação foi gerada e qual é o plano de instalação. Talvez não seja uma explicação detalhada do que realmente aconteceu e do que deu errado, mas deve fornecer informações importantes sobre por onde começar:
No Galileo (também conhecido como Eclipse 3.5), o JDT começou a resolver o caminho de classe do manifesto nas bibliotecas adicionadas ao caminho de construção do projeto. Isso funcionou se a biblioteca foi adicionada ao caminho de construção do projeto diretamente ou por meio de um contêiner de caminho de classe, como o recurso de biblioteca do usuário fornecido pelo JDT ou um implementado por terceiros.
No Helios, esse comportamento foi alterado para excluir contêineres do caminho de classe da resolução do caminho de classe manifesto.
Isso significa que alguns de seus projetos podem não ser mais compilados no Helios.
Se você deseja reverter para o comportamento do Galileo, adicione:
De acordo com este link, oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#icms , você precisa de -XX: + UseConcMarkSweepGC para usar -XX: + CMSIncrementalMode. Isso está faltando no seu exemplo acima. Não precisaríamos do CMSIncrementalMode caso usássemos o G1 GC, estou certo?
RuntimeException 26/10/10
1
Ei, o G1GC é um desastre em um mac. Come a máquina inteira, exigindo uma reinicialização.
bmargulies
4
@VonC: -XX:CompileThreshold=5causa lentidão HORRENDOUS para mim. Livrar-me dessa opção reduziu meu tempo de inicialização do Eclipse para 17 segundos a partir de> 1 min !! Sem mencionar o quão terrivelmente lento o IDE era em geral. Veja este link
TrinitronX
3
@TrinitronX: (e na verdade todos), -XX:CompileThreshold=5é um valor muito baixo (padrão = 10000). Este valor representa o número de invocações / ramificações de método antes de compilá-lo. Um valor muito baixo fará com que o CodeCache seja preenchido prematuramente e o console poderá informar: CodeCache is full. Compiler has been disabledQuando o compilador for desativado, você perceberá lentidão no aplicativo. Há duas formas de corrigir isto, 1. Use -XX:CompileThreshold=1000(afinar este número) ou 2. Tente aumentar o tamanho do cache de código utilizando -XX:ReservedCodeCacheSize=64m(double do 32m padrão)
Drupad Panchal
4
para linux use /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386/client/libjvm.so para localização da jvm
r15habh
76
Configurações do Eclipse Galileo 3.5 e 3.5.1
Atualmente (novembro de 2009), estou testando com o jdk6 update 17 o seguinte conjunto de opções de configuração (com Galileo - eclipse 3.5.x, veja abaixo para 3.4 ou mais para Helios 3.6.x ):
(é claro, adapte os caminhos relativos presente neste eclipse.ini para os caminhos corretos para sua instalação)
Nota: para eclipse3.5 , substitua startupe launcher.librarylinhas por:
O Galileo suporta caminhos totalmente relativos para área de trabalho ou VM (evite modificar aqueles de uma instalação do eclipse para outra, se, é claro, sua JVM e área de trabalho permanecerem iguais)
Antes, esses caminhos relativos eram reescritos em absolutos quando o eclipse se lançava. ...
Você também pode copiar o diretório JRE de uma instalação Java JDK dentro do diretório eclipse
Ressalvas
Houve um erro com pontos de interrupção ignorados realmente relacionados ao JDK.
Use JDK6u16 ou mais recente para ativar o eclipse (Você pode definir quantos JDKs deseja compilar no eclipse: não é porque você lança um eclipse com o JDK6 que você precisará compilar com o mesmo JDK).
Eclipse 3.3 suporta um novo argumento para o lançador: --launcher.XXMaxPermSize.
Se a VM que está sendo usada for uma Sun VM e ainda não houver um -XX:MaxPermSize=argumento de VM, o iniciador será adicionado automaticamente -XX:MaxPermSize=256mà lista de argumentos da VM que está sendo usada.
O lançador 3.3 é capaz apenas de identificar VMs da Sun no Windows.
Nem todos os vms aceitam o -XX:MaxPermSizeargumento e é por isso que ele é passado dessa maneira. Pode (ou não) existir problemas com a identificação de vms do sol.
Nota: O Eclipse 3.3.1 possui um erro em que o iniciador não pode detectar uma Sun VM e, portanto, não usa o tamanho correto do PermGen. Parece que este pode ter sido um bug conhecido no Mac OS X para 3.3.0 também. Se você estiver usando uma dessas combinações de plataformas, adicione o -XXsinalizador ao eclipse.inidescrito acima.
Notas:
a 384mlinha " " é convertida na parte " =384m" do argumento da VM, se a VM faz distinção entre maiúsculas e minúsculas no " m", então o argumento também é esse.
o --launcher.prefixo " ", especifica que o argumento é consumido pelo próprio iniciador e foi adicionado aos argumentos específicos do iniciador para evitar colisões de nomes com argumentos do aplicativo. (Outros exemplos são --launcher.library, --launcher.suppressErrors)
A -vmargs -XX:MaxPermSize=384mparte é o argumento passado diretamente para a VM, ignorando completamente o iniciador e nenhuma verificação no fornecedor da VM é usada.
Eu tive alguns problemas com isso na versão mais recente do eclipse 3.5x64: --launcher.library plugins / org.eclipse.equinox.launcher.win32.win32.x86_64_1.0.200.v20090519 - plugins de inicialização / org.eclipse.equinox.launcher_1 .0.200.v20090520.jar também tive que usar um jdk JAVA_HOME / bin / javaw, para o plugin m2eclipse. Caso contrário, isso é incrível demais.
22711 Nathan Feger
Esses dois não estão fazendo a mesma coisa? "--launcher.XXMaxPermSize 384m" e "-XX: MaxPermSize = 128m"
Igor Zinov'yev 10/11/2009
@Igor Zinov'yev: é um pouco redundante, mas ambos podem ser úteis, dependendo da plataforma e da versão do eclipse. Eu os redefinii para o mesmo valor e completei minha resposta com um pouco de documentação sobre essas configurações.
A melhor configuração da JVM sempre , na minha opinião, inclui o JDK mais recente que você pode encontrar (por enquanto, jdk1.6.0_b07 até b16, exceto b14 e b15 )
eclipse.ini
Mesmo com essas configurações de pouca memória, eu posso executar grandes projetos java (junto com um servidor web) na minha área de trabalho antiga (2002) com 2Go RAM.
o que é -Xssv2m para, quando eu incluí-lo no lançamento vm configurações eclipse costume, tinha um olhar para os documentos para definições de JVM, mas não conseguiu encontrá-lo
Craig Angus
Certo ... isso foi um erro de digitação: Xss2m, não Xssv2m: -Xss determina o tamanho da pilha: -Xss1024k. Se o espaço de pilha é muito pequeno, eventualmente, você vai ver um java.lang.StackOverflowError classe de exceção (a mensagem de erro mítico por aqui ;-))
VonC
Finalmente, comecei a usar o segundo conjunto de configurações e fiquei impressionado com o quão bem elas funcionam!
Craig Angus
Já tiveram a chance de usar as configurações por um tempo agora, o eclipse parece rápido, mas a construção de formigas parece mais lenta ???
Craig Angus
@ Craig Angus: estranho, qual versão do eclipse você está usando? E qual versão da formiga está incluída?
VonC 04/02/09
20
Configurações do Eclipse Indigo 3.7.2 (linux de 64 bits)
Configurações para a versão Java do Sun / Oracle "1.6.0_31" e Eclipse 3.7 em execução no Linux x86-64:
Observe que isso usa apenas 200 MB para o heap e 150 MB para o não heap. Se você estiver usando plugins enormes, convém aumentar os limites "-Xmx200m" e "-XX: MaxPermSize = 150m".
O principal objetivo de otimização para esses sinalizadores é minimizar a latência em todos os casos e, como objetivo secundário de otimização, minimizar o uso de memória.
Funciona fantasticamente para mim (embora eu dobrou os valores para as configurações de memória relacionada, ainda é baixo e bolhas rápido!)
Aktau
Você tem os dois -XX: + UseConcMarkSweepGC e -XX: + UseParNewGC. Por quê? Eu não acho que você possa usar os dois coletores de lixo e não tenho certeza de qual finalmente será usado.
herman
Eu pensei que -XX: + UseConcMarkSweepGC é para coleta de lixo da geração antiga e -XX: + UseParNewGC é usado para coleta de lixo de eden.
Cada opção e cada argumento para uma opção devem estar em sua própria linha.
27412 Josh Clemm
14
-showlocation
Para facilitar a execução do eclipse duas vezes e saber com qual espaço de trabalho você está lidando
O Eclipse 3.6 inclui uma opção de preferências para especificar o que mostrar, pelo Workspace name (shown in window title)qual funciona muito melhor do que -showlocationpor três motivos:
Você não precisa reiniciar o eclipse para que ele tenha efeito.
Você pode escolher um código curto.
Aparece primeiro, antes do nome da perspectiva e do aplicativo.
É para ter o Eclipse usando um JDK como o ambiente padrão?
Thorbjørn Ravn Andersen
Isso pode ser usado para que o Eclipse use um JDK específico / diferente como o ambiente padrão.
Gilberto Olimpio 25/05
7
Você também pode tentar executar com JRockit . É uma JVM otimizada para servidores, mas muitos aplicativos clientes de longa duração, como os IDE, funcionam muito bem no JRockit. Eclipse não é exceção. O JRockit não possui um perm-space, portanto você não precisa configurá-lo.
É possível definir uma meta de tempo de pausa (ms) para evitar longas pausas de GC que impedem a interface do usuário.
Normalmente, não me preocupo em definir -Xmx e -Xms e deixo o JRockit crescer o heap conforme necessário. Se você iniciar o aplicativo Eclipse com o JRockit, também poderá monitorar, criar um perfil e encontrar vazamentos de memória no aplicativo usando o conjunto de ferramentas JRockit Mission Control. Você baixa os plugins deste site de atualização . Observe que funciona apenas no Eclipse 3.3 e no Eclipse 3.4
Eu tenho eclipse correu em JRockit no passado e correu muito bem
Craig Angus
5
Aqui está minha própria configuração para o meu Eclipse rodando no laptop i7 2630M 16GB RAM, essa configuração está em uso há uma semana, sem uma única falha, e o Eclipse 3.7 está funcionando sem problemas.
eclipse.ini
configurações novas e aprimoradas do Helios 3.6 estão aqui (abaixo, em uma nova resposta): stackoverflow.com/questions/142357/…Respostas:
É essa época do ano novamente: "eclipse.ini take 3" as configurações voltam!
Configurações do Eclipse Helios 3.6 e 3.6.x
texto alternativo http://www.eclipse.org/home/promotions/friends-helios/helios.png
Após ajustes para Eclipse Ganymede 3.4.x e Eclipse Galileo 3.5.x , aqui é um olhar em profundidade em um "otimizado" eclipse.ini arquivo de configurações para Eclipse Helios 3.6.x:
algumas opções proprietárias da Sun podem estar envolvidas)( por "otimizado", quero dizer capaz de executar um Eclipse completo em nossa estação de trabalho de baixa qualidade no trabalho, algum P4 antigo de 2002 com 2Go RAM e XPSp3. Mas também testei essas mesmas configurações no Windows7 )
Eclipse.ini
AVISO : para plataformas não Windows, use a opção proprietária da Sun em
-XX:MaxPermSize
vez da opção proprietária do Eclipse--launcher.XXMaxPermSize
.Ou seja: A menos que você esteja usando a versão 7 mais recente do jdk6u21 . Veja a seção Oracle abaixo.
Nota:
Adapte-o
p2.reconciler.dropins.directory
a um diretório externo de sua escolha.Veja esta resposta SO . A idéia é poder descartar novos plugins em um diretório independentemente de qualquer instalação do Eclipse.
As seções a seguir detalham o que há nesta
eclipse.ini
arquivo.O temido Oracle JVM 1.6u21 (pré-build 7) e o Eclipse travam
Andrew Niefer me alertou sobre essa situação e escreveu um post no blog sobre um argumento vm não padrão (
-XX:MaxPermSize
) e pode fazer com que vms de outros fornecedores não iniciem.Mas a versão eclipse dessa opção (
--launcher.XXMaxPermSize
) não está funcionando com o novo JDK (6u21, a menos que você esteja usando o 6u21 build 7, veja abaixo).o
finalA solução está no Wiki do Eclipse e no Helios no Windows com apenas 6u21 pré-build 7 :É isso aí. Nenhuma configuração para ajustar aqui (novamente, apenas para o Helios no Windows com um 6u21 pré-build 7 ).
Para a plataforma não-Windows, você precisa reverter para a opção proprietária Sun
-XX:MaxPermSize
.O problema é baseado em uma regressão: a identificação da JVM falha devido ao rebranding da Oracle no java.exe e acionou o bug 319514 no Eclipse.
Andrew cuidou do Bug 320005 - [launcher]
--launcher.XXMaxPermSize: isSunVM
deve retornar true para Oracle , mas isso será apenas para Helios 3.6.1.Francis Upton , outro colaborador do Eclipse, reflete sobre toda a situação .
Atualização u21b7, 27 de julho : a
Oracle regrediu a alteração para a próxima versão do Java 6 e não a implementará novamente até o JDK 7 .
Se você usar o jdk6u21 build 7 , poderá reverter para a
--launcher.XXMaxPermSize
(opção eclipse) em vez de-XX:MaxPermSize
(a opção não padrão).A detecção automática que
eclipse.exe
Sun Microsystems
ocorre no calço do iniciador C ainda procurará a " " sequência, mas com 6u21b7, ela agora funcionará - novamente.Por enquanto, ainda mantenho a
-XX:MaxPermSize
versão (porque não tenho idéia de quando todo mundo vai lançar o JDK certo ).Implícito `-startup` e` --launcher.library`
Ao contrário das configurações anteriores, o caminho exato para esses módulos não é mais definido, o que é conveniente, pois pode variar entre diferentes versões do Eclipse 3.6.x:
org.eclipse.equinox.launcher
pacote com a versão mais alta.plugins
diretório oorg.eclipse.equinox.launcher.[platform]
fragmento apropriado com a versão mais alta e usa a biblioteca compartilhada nomeadaeclipse_*
dentro.Use JDK6
O JDK6 agora é explicitamente necessário para ativar o Eclipse:
Esta questão SO relata uma incidência positiva para o desenvolvimento no Mac OS.
+ UnlockExperimentalVMOptions
As seguintes opções fazem parte de algumas das opções experimentais da Sun JVM.
Eles foram relatados nesta postagem do blog para potencialmente acelerar o Eclipse.
Veja todas as opções da JVM aqui e também na página oficial de opções do Java Hotspot .
Nota: a lista detalhada desses relatórios de opções que
UseFastAccessorMethods
podem estar ativos por padrão.Consulte também "Atualize sua JVM" :
Abrindo arquivos no Eclipse a partir da linha de comandos
Veja a postagem do blog de Andrew Niefer relatando esta nova opção:
Veja o bug 301033 para referência. Originalmente bug 4922 (outubro de 2001, corrigido 9 anos depois).
p2 e o prompt de diálogo não assinado
Se você está cansado desta caixa de diálogo durante a instalação de seus muitos plugins:
, adicione seu
eclipse.ini
:Veja esta postagem do blog de Chris Aniszczy e o relatório de bug 235526 .
---------- http://www.eclipse.org/home/categories/images/wiki.gif texto alternativo http://www.eclipse.org/home/categories/images/wiki.gif texto alternativo http://www.eclipse.org/home/categories/images/wiki.gif
Opções adicionais
Essas opções não estão diretamente nas opções
eclipse.ini
acima, mas podem ser úteis se necessário.O problema do `user.home` no Windows7
Quando o eclipse é iniciado, ele lê seu arquivo de armazenamento de chaves (onde as senhas são mantidas), um arquivo localizado em
user.home
.Se, por algum motivo,
user.home
não se resolver adequadamente em um caminho completo, o Eclipse não será iniciado.Inicialmente levantado nesta questão de SO , se você enfrentar isso, precisará redefinir o arquivo keystore para um caminho explícito (não há mais user.home para resolver no início)
Adicione no seu
eclipse.ini
:Isso foi rastreado pelo bug 300577 , foi resolvido nesta outra questão do SO .
Modo de depuração
Aguarde, há mais de um arquivo de configuração no Eclipse.
se você adicionar à sua
eclipse.ini
opção:, ative o modo de depuração e o Eclipse procurará outro arquivo de configuração: um
.options
arquivo em que você possa especificar algumas opções OSGI.E isso é ótimo quando você adiciona novos plugins através da pasta dropins.
Adicione no seu arquivo .options as seguintes configurações, conforme descrito nesta postagem do blog " Diagnóstico de Dropins " :
Isso vem do Bug 264924 - [reconciliador] Nenhum diagnóstico de problemas de dropins , que finalmente resolve o seguinte problema, como:
Caminho de classe do manifesto
Veja esta postagem do blog :
Isso significa que alguns de seus projetos podem não ser mais compilados no Helios.
Se você deseja reverter para o comportamento do Galileo, adicione:
Veja os erros 305037 , 313965 e 313890 para obter referências.
Pilha IPV4
Esta pergunta do SO menciona uma possível correção ao não acessar sites de atualização de plugins:
Mencionado aqui para o caso de ajudar na sua configuração.
Otimizações potenciais de JVM1.7x64
Este artigo relata:
fonte
-XX:CompileThreshold=5
causa lentidão HORRENDOUS para mim. Livrar-me dessa opção reduziu meu tempo de inicialização do Eclipse para 17 segundos a partir de> 1 min !! Sem mencionar o quão terrivelmente lento o IDE era em geral. Veja este link-XX:CompileThreshold=5
é um valor muito baixo (padrão = 10000). Este valor representa o número de invocações / ramificações de método antes de compilá-lo. Um valor muito baixo fará com que o CodeCache seja preenchido prematuramente e o console poderá informar:CodeCache is full. Compiler has been disabled
Quando o compilador for desativado, você perceberá lentidão no aplicativo. Há duas formas de corrigir isto, 1. Use-XX:CompileThreshold=1000
(afinar este número) ou 2. Tente aumentar o tamanho do cache de código utilizando-XX:ReservedCodeCacheSize=64m
(double do 32m padrão)Configurações do Eclipse Galileo 3.5 e 3.5.1
Atualmente (novembro de 2009), estou testando com o jdk6 update 17 o seguinte conjunto de opções de configuração (com Galileo - eclipse 3.5.x, veja abaixo para 3.4 ou mais para Helios 3.6.x ):
(é claro, adapte os caminhos relativos presente neste eclipse.ini para os caminhos corretos para sua instalação)
Nota: para eclipse3.5 , substitua
startup
elauncher.library
linhas por:eclipse.ini 3.5.1
Veja também minha resposta original acima para obter mais informações.
Alterações (desde julho de 2009)
org.eclipse.equinox.p2.reconciler.dropins.directory
opção.Antes, esses caminhos relativos eram reescritos em absolutos quando o eclipse se lançava. ...
Ressalvas
Houve um erro com pontos de interrupção ignorados realmente relacionados ao JDK.
Use JDK6u16 ou mais recente para ativar o eclipse (Você pode definir quantos JDKs deseja compilar no eclipse: não é porque você lança um eclipse com o JDK6 que você precisará compilar com o mesmo JDK).
Máx.
Observe o uso de:
Conforme documentado no Wiki do Eclipse ,
Conforme detalhado nesta entrada :
fonte
Configurações do Eclipse Ganymede 3.4.2
Para configurações mais recentes, consulte Configurações do Eclipse Galileo 3.5 acima .
JDK
A melhor configuração da JVM sempre , na minha opinião, inclui o JDK mais recente que você pode encontrar (por enquanto, jdk1.6.0_b07 até b16, exceto b14 e b15 )
eclipse.ini
Mesmo com essas configurações de pouca memória, eu posso executar grandes projetos java (junto com um servidor web) na minha área de trabalho antiga (2002) com 2Go RAM.
Ver resposta SO do GKelly e blog de Piotr Gabryanczyk para mais detalhes sobre as novas opções.
Monitoramento
Você também pode considerar iniciar:
Como dito em uma pergunta anterior sobre consumo de memória .
fonte
Configurações do Eclipse Indigo 3.7.2 (linux de 64 bits)
Configurações para a versão Java do Sun / Oracle "1.6.0_31" e Eclipse 3.7 em execução no Linux x86-64:
Observe que isso usa apenas 200 MB para o heap e 150 MB para o não heap. Se você estiver usando plugins enormes, convém aumentar os limites "-Xmx200m" e "-XX: MaxPermSize = 150m".
O principal objetivo de otimização para esses sinalizadores é minimizar a latência em todos os casos e, como objetivo secundário de otimização, minimizar o uso de memória.
fonte
-showlocation
Para facilitar a execução do eclipse duas vezes e saber com qual espaço de trabalho você está lidando
O Eclipse 3.6 inclui uma opção de preferências para especificar o que mostrar, pelo
Workspace name (shown in window title)
qual funciona muito melhor do que-showlocation
por três motivos:fonte
Se você estiver usando a atualização 14 do jdk6, sugiro usar o coletor de lixo G1, que parece ajudar no desempenho.
Para fazer isso, remova essas configurações:
-XX: + UseConcMarkSweepGC
-XX: + CMSIncrementalMode
-XX: + CMSIncrementalPacing
e substitua-os por estes:
-XX: + UnlockExperimentalVMOptions
-XX: + UseG1GC
fonte
Se você estiver usando Linux + Sun JDK / JRE 32bits , altere "-vm" para:
Se você estiver usando Linux + Sun JDK / JRE 64bits , altere "-vm" para:
Isso está funcionando bem para mim no Ubuntu 8.10 e 9.04
fonte
Você também pode tentar executar com JRockit . É uma JVM otimizada para servidores, mas muitos aplicativos clientes de longa duração, como os IDE, funcionam muito bem no JRockit. Eclipse não é exceção. O JRockit não possui um perm-space, portanto você não precisa configurá-lo.
É possível definir uma meta de tempo de pausa (ms) para evitar longas pausas de GC que impedem a interface do usuário.
Normalmente, não me preocupo em definir -Xmx e -Xms e deixo o JRockit crescer o heap conforme necessário. Se você iniciar o aplicativo Eclipse com o JRockit, também poderá monitorar, criar um perfil e encontrar vazamentos de memória no aplicativo usando o conjunto de ferramentas JRockit Mission Control. Você baixa os plugins deste site de atualização . Observe que funciona apenas no Eclipse 3.3 e no Eclipse 3.4
fonte
Aqui está minha própria configuração para o meu Eclipse rodando no laptop i7 2630M 16GB RAM, essa configuração está em uso há uma semana, sem uma única falha, e o Eclipse 3.7 está funcionando sem problemas.
Cálculos: Para Win 7 x64
fonte
E essas configurações funcionaram como um encanto para mim. Estou executando o OS X10.6, Eclipse 3.7 Indigo, JDK1.6.0_24
fonte
Minhas próprias configurações (Java 1.7, modifique para 1.6):
fonte
O Eclipse gosta de muita RAM. Use pelo menos -Xmx512M. Mais se disponível.
fonte
Se você gosta de mim e teve problemas com a versão atual do Oracle 1.6, você pode atualizar seu JDK ou definir
. Mais informações estão disponíveis aqui: http://java.dzone.com/articles/latest-java-update-fixesfonte
XX: + UseParallelGC que é a opção mais incrível de todos os tempos !!!
fonte
-vm
C: \ Arquivos de programas \ Java \ jdk1.6.0_07 \ jre \ bin \ client \ jvm.dll
Para especificar qual versão do java você está usando e usar a dll em vez de iniciar um processo javaw
fonte
Aqui está o que eu uso (embora eu os tenha no atalho em vez do arquivo de configurações):
eclipse.exe -showlocation -vm "C: \ Java \ jdk1.6.0_07 \ bin \ javaw.exe" -vmargs -Xms256M -Xmx768M -XX: + UseParallelGC -XX: MaxPermSize = 128M
fonte