Les nouveaux eclipse.iniparamètres améliorés pour Helios 3.6 sont ici (ci-dessous, dans une nouvelle réponse): stackoverflow.com/questions/142357/…
VonC
6
Il est étonnant que la question fermée car non constructive ait une note aussi élevée ...
bancer
1
Cette question a été posée lorsque la réponse la plus récente à une question comme celle-ci en 2008 était eclipsezone.com/eclipse/forums/t20732.html . L'ensemble de réponses s'est élargi car de nouvelles versions d'éclipse et de java ont été publiées, les mises à jour ultérieures ont gardé les réponses à jour. La fermeture de la question rendra les réponses obsolètes. La seule façon de penser à reformuler cette question serait de la rendre spécifique à la version, ce qui, je pense, est pire car cela entraînerait plusieurs questions pour répondre au même problème
Craig Angus
10
D'accord - la fermeture de questions comme celle-ci est de la folie - la folie je vous le dis - des questions comme celle-ci sont les plus utiles et les plus intéressantes du site!
Luigi Plinge
3
Selon le motif de la clôture, "Nous nous attendons à ce que les réponses impliquent généralement des faits, des références ou une expertise spécifique". Je pense que clore cette question est un tronçon. Faisons attention en utilisant les pouvoirs de censure. Je dirais qu'en cas de doute, il vaut mieux "laisser le savoir être libre" et ouvert.
luiscolorado
Réponses:
315
C'est encore cette période de l'année: "eclipse.ini take 3" les paramètres sont de retour!
et utilisant la Sun-Oracle JVM 1.6u21 b7 , sortie le 27 juillet (certaines options propriétaires de Sun peuvent être impliquées).
( par "optimisé", je veux dire capable d'exécuter une Eclipse à part entière sur notre station de travail de merde au travail, un vieux P4 de 2002 avec 2Go de RAM et XPSp3. Mais j'ai également testé ces mêmes paramètres sur Windows7 )
Eclipse.ini
AVERTISSEMENT : pour les plates-formes non Windows, utilisez l'option propriétaire Sun -XX:MaxPermSizeau lieu de l'option propriétaire Eclipse --launcher.XXMaxPermSize.
C'est-à-dire: à moins que vous n'utilisiez la dernière version 7 de jdk6u21 . Voir la section Oracle ci-dessous.
Remarque:
adaptez le p2.reconciler.dropins.directoryà un répertoire externe de votre choix.
Voir cette réponse SO . L'idée est de pouvoir déposer de nouveaux plugins dans un répertoire indépendamment de toute installation Eclipse.
Les sections suivantes détaillent le contenu de ce eclipse.inifichier.
Le redoutable Oracle JVM 1.6u21 (pre build 7) et Eclipse se bloque
Andrew Niefer m'a alerté de cette situation et a écrit un article de blog sur un argument vm non standard ( -XX:MaxPermSize) et peut empêcher les vms d'autres fournisseurs de démarrer.
Mais la version éclipse de cette option ( --launcher.XXMaxPermSize) ne fonctionne pas avec le nouveau JDK (6u21, sauf si vous utilisez la version 7 de 6u21, voir ci-dessous).
le finalLa solution se trouve sur le wiki Eclipse , et pour Helios sur Windows avec 6u21 pre build 7 uniquement:
C'est tout. Aucun paramètre à modifier ici (encore une fois, uniquement pour Helios sur Windows avec une pré-version 6u21 7 ).
Pour la plate - forme non-Windows, vous devez revenir à l'option exclusive dim. -XX:MaxPermSize.
Mise à jour u21b7, 27 juillet : Oracle a régressé la modification pour la prochaine version de Java 6 et ne l'implémentera plus avant JDK 7 .
Si vous utilisez jdk6u21 build 7 , vous pouvez revenir à --launcher.XXMaxPermSize(option eclipse) au lieu de -XX:MaxPermSize(option non standard).
La détection automatique qui se produit dans la cale du lanceur Ceclipse.exe cherchera toujours la Sun Microsystemschaîne " ", mais avec 6u21b7, cela fonctionnera à nouveau.
Pour l'instant, je garde toujours la -XX:MaxPermSizeversion (car je ne sais pas quand tout le monde lancera eclipse le bon JDK).
`-Startup` et` --launcher.library` implicites`
Contrairement aux paramètres précédents, le chemin exact de ces modules n'est plus défini, ce qui est pratique car il peut varier entre les différentes versions d'Eclipse 3.6.x:
startup: S'il n'est pas spécifié, l'exécutable recherchera dans le répertoire des plugins le org.eclipse.equinox.launcherbundle avec la version la plus élevée.
launcher.library: S'il n'est pas spécifié, l'exécutable recherche dans le pluginsrépertoire le org.eclipse.equinox.launcher.[platform]fragment approprié avec la version la plus élevée et utilise la bibliothèque partagée nommée à l' eclipse_*intérieur.
Utilisez JDK6
Le JDK6 est désormais explicitement requis pour lancer Eclipse:
-Dosgi.requiredJavaVersion = 1.6
Cette question SO rapporte une incidence positive pour le développement sur Mac OS.
+ UnlockExperimentalVMOptions
Les options suivantes font partie de certaines des options expérimentales de la JVM Sun.
Pour rappel, G1 est le nouveau garbage collector en préparation du JDK 7, mais déjà utilisé dans la version 6 de u17.
Ouverture de fichiers dans Eclipse à partir de la ligne de commande
Voir le blog d'Andrew Niefer rapportant cette nouvelle option:
--launcher.defaultAction
openFile
Cela indique au lanceur que s'il est appelé avec une ligne de commande qui ne contient que des arguments qui ne commencent pas par " -", alors ces arguments doivent être traités comme s'ils suivaient " --launcher.openFile".
eclipse myFile.txt
C'est le type de ligne de commande que le lanceur recevra sur Windows lorsque vous double-cliquez sur un fichier associé à eclipse, ou que vous sélectionnez des fichiers et choisissez " Open With" ou " Send To" Eclipse.
Les chemins relatifs seront d'abord résolus par rapport au répertoire de travail actuel et ensuite par rapport au répertoire du programme eclipse.
Voir bug 301033 pour référence. Initialement bug 4922 (octobre 2001, corrigé 9 ans plus tard).
p2 et l'invite de dialogue non signé
Si vous en avez assez de cette boîte de dialogue lors de l'installation de vos nombreux plugins:
Je tiens à dire que la recherche sur la sécurité confirme le fait que moins de messages sont meilleurs.
Les gens ignorent les choses qui surgissent dans le flux de quelque chose qu'ils veulent faire.
Pour la 3.6, nous ne devrions pas afficher d'avertissements au milieu du flux - peu importe combien nous simplifions, les gens les ignoreront.
Au lieu de cela, nous devons collecter tous les problèmes, ne pas installer ces bundles avec des problèmes et ramener l'utilisateur à un point du flux de travail où il peut corriger - ajouter de la confiance, configurer la politique de sécurité de manière plus lâche, etc. Cela s'appelle `` sûr mise en scène » .
Ces options ne sont pas directement décrites eclipse.inici - dessus, mais peuvent être utiles si nécessaire.
Le problème `user.home` sur Windows7
Lorsque eclipse démarre, il lit son fichier de clés (où les mots de passe sont conservés), un fichier situé dans user.home.
Si pour une raison qui user.homene se résout pas correctement en un chemin complet, Eclipse ne démarre pas.
Initialement soulevé dans cette question SO , si vous rencontrez ce problème , vous devez redéfinir le fichier de clés sur un chemin explicite (plus de user.home à résoudre au début)
Attendez, il y a plus d'un fichier de paramètres dans Eclipse.
si vous ajoutez à votre eclipse.inioption:
-debug
, vous activez le mode de débogage et Eclipse recherchera un autre fichier de paramètres: un .optionsfichier dans lequel vous pourrez spécifier certaines options OSGI.
Et c'est génial lorsque vous ajoutez de nouveaux plugins via le dossier dropins.
Ajoutez dans votre fichier .options les paramètres suivants, comme décrit dans cet article de blog " Diagnostic Dropins " :
P2 vous informera quels bundles ont été trouvés dans le dropins/dossier, quelle demande a été générée et quel est le plan d'installation. Ce n'est peut-être pas une explication détaillée de ce qui s'est réellement passé et de ce qui n'a pas fonctionné, mais cela devrait vous donner des informations solides sur le point de départ:
était votre paquet dans le plan?
Était-ce un problème d'installation (défaut P2)
ou peut-être qu'il n'est tout simplement pas optimal d'inclure votre fonctionnalité?
Dans Galileo (alias Eclipse 3.5), JDT a commencé à résoudre le chemin de classe manifeste dans les bibliothèques ajoutées au chemin de génération du projet. Cela a fonctionné que la bibliothèque ait été ajoutée au chemin de génération du projet directement ou via un conteneur de chemin de classe, tel que la bibliothèque utilisateur fournie par JDT ou implémentée par un tiers.
Dans Helios, ce comportement a été modifié pour exclure les conteneurs de chemin de classe de la résolution du chemin de classe manifeste.
Cela signifie que certains de vos projets pourraient ne plus être compilés dans Helios.
Si vous souhaitez revenir au comportement de Galileo, ajoutez:
Selon ce lien, oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#icms , vous devez disposer de -XX: + UseConcMarkSweepGC pour utiliser -XX: + CMSIncrementalMode. Cela manque dans votre exemple ci-dessus. Nous n'aurions pas besoin de CMSIncrementalMode si nous utilisons G1 GC, ai-je raison?
RuntimeException
1
Hé, G1GC est une catastrophe sur un Mac. Il mange la machine entière, nécessitant un redémarrage.
bmargulies
4
@VonC: -XX:CompileThreshold=5provoque des ralentissements HORRENDOUS pour moi. Se débarrasser de cette seule option a réduit mon temps de démarrage d'Eclipse à 17 secondes de> 1 min !! Sans parler de la lenteur de l'IDE en général. Voir ce lien
TrinitronX
3
@TrinitronX: (et en fait tout le monde), -XX:CompileThreshold=5est une valeur très faible (par défaut = 10000). Cette valeur représente le nombre d'appels / branches de méthode avant de le compiler. Une valeur trop faible entraînera le remplissage prématuré de votre CodeCache et la console peut signaler: CodeCache is full. Compiler has been disabledUne fois le compilateur désactivé, vous remarquerez une lenteur dans l'application. Il existe deux façons de résoudre ce problème: 1. Utilisez -XX:CompileThreshold=1000(affinez ce nombre) ou 2. Essayez d'augmenter la taille du cache de code à l'aide de -XX:ReservedCodeCacheSize=64m(doubler par rapport aux 32 m par défaut)
Drupad Panchal
4
pour linux, utilisez /usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386/client/libjvm.so pour l'emplacement jvm
r15habh
76
Paramètres Eclipse Galileo 3.5 et 3.5.1
Actuellement (novembre 2009), je teste avec jdk6 update 17 le jeu d'options de configuration suivant (avec Galileo - eclipse 3.5.x, voir ci - dessous pour 3.4 ou supérieur pour Helios 3.6.x ):
(bien sûr, adaptez les chemins relatifs présent dans ce eclipse.ini aux chemins corrects pour votre configuration)
Remarque: pour eclipse3.5 , remplacez startupet launcher.librarylignes par:
Galileo prend en charge des chemins entièrement relatifs pour l'espace de travail ou la machine virtuelle (évitez d'avoir à modifier ceux d'une installation eclipse à une autre, si, bien sûr, votre JVM et votre espace de travail restent les mêmes)
Avant, ces chemins relatifs continuaient d'être réécrits en absolus lorsque eclipse s'est lancé ...
Vous pouvez également copier le répertoire JRE d'une installation Java JDK dans votre répertoire eclipse
Avertissements
Il y avait un bogue avec des points d'arrêt ignorés réellement liés au JDK.
Utilisez JDK6u16 ou plus récent pour lancer eclipse (Vous pouvez alors définir autant de JDK que vous souhaitez compiler dans eclipse: ce n'est pas parce que vous lancez une éclipse avec JDK6 que vous devrez compiler avec ce même JDK).
Eclipse 3.3 prend en charge un nouvel argument au lanceur: --launcher.XXMaxPermSize.
Si la machine virtuelle utilisée est une machine virtuelle Sun et qu'il n'y a pas déjà d' -XX:MaxPermSize=argument de machine virtuelle, le lanceur s'ajoutera automatiquement -XX:MaxPermSize=256mà la liste des arguments de machine virtuelle utilisés.
Le lanceur 3.3 est uniquement capable d'identifier les machines virtuelles Sun sous Windows.
Tous les vms n'acceptent pas l' -XX:MaxPermSizeargument, c'est pourquoi il est transmis de cette manière. Il peut (ou non) exister des problèmes d'identification des rayons solaires.
Remarque: Eclipse 3.3.1 a un bogue dans lequel le lanceur ne peut pas détecter une machine virtuelle Sun et n'utilise donc pas la taille PermGen correcte. Il semble que cela ait également été un bogue connu sur Mac OS X pour 3.3.0 . Si vous utilisez l'une de ces combinaisons de plates-formes, ajoutez l' -XXindicateur au eclipse.inicomme décrit ci-dessus.
Remarques:
la 384mligne " " se traduit par la " =384m" partie de l'argument VM, si la VM est sensible à la casse sur " m", alors cet argument l'est aussi.
le --launcher.préfixe " ", cela spécifie que l'argument est consommé par le lanceur lui-même et a été ajouté aux arguments spécifiques du lanceur pour éviter les collisions de noms avec les arguments d'application. (D'autres exemples sont --launcher.library, --launcher.suppressErrors)
La -vmargs -XX:MaxPermSize=384mpartie est l'argument transmis directement à la machine virtuelle, contournant entièrement le lanceur et aucun contrôle sur le fournisseur de la machine virtuelle n'est utilisé.
J'ai eu quelques problèmes avec cela pour la dernière version d'éclipse 3.5x64: --launcher.library plugins / org.eclipse.equinox.launcher.win32.win32.x86_64_1.0.200.v20090519 -startup plugins / org.eclipse.equinox.launcher_1 .0.200.v20090520.jar J'ai également dû utiliser un jdk JAVA_HOME / bin / javaw, pour le plugin m2eclipse. Sinon, c'est génial.
Nathan Feger
Ces deux-là ne font-ils pas la même chose? "--launcher.XXMaxPermSize 384m" et "-XX: MaxPermSize = 128m"
Igor Zinov'yev
@Igor Zinov'yev: c'est un peu redondant, mais les deux peuvent être utiles, selon la plateforme et la version de l'éclipse. Je les ai réinitialisés à la même valeur et j'ai complété ma réponse avec un peu de documentation concernant ces paramètres.
Si vous souhaitez toujours utiliser la dernière et la meilleure machine virtuelle, pourquoi l'argument "-Dosgi.requiredJavaVersion = 1.5" n'utilise-t-il pas 1.6?
Le meilleur réglage JVM toujours , à mon avis, comprend la dernière JDK vous pouvez trouver (donc pour l' instant, jdk1.6.0_b07 jusqu'à B16, sauf B14 et B15 )
eclipse.ini
Même avec ces paramètres de mémoire assez bas, je peux exécuter de grands projets Java (avec un serveur Web) sur mon ancien bureau (2002) avec 2 Go de RAM.
à quoi sert -Xssv2m, quand je l'inclus dans l'éclipse des paramètres vm ne se lancera pas, a jeté un coup d'œil aux documents pour les paramètres JVM mais ne l'a pas trouvé
Craig Angus
Bon ... c'était une faute de frappe: Xss2m, pas Xssv2m: -Xss détermine la taille de la pile: -Xss1024k. Si l'espace de la pile est trop petit, vous verrez finalement une classe d'exception java.lang.StackOverflowError (un message d'erreur mythique ici ;-))
VonC
Enfin, nous avons commencé à utiliser le deuxième ensemble de paramètres et étonné de leur efficacité!
Craig Angus
J'ai eu la chance d'utiliser les paramètres depuis un moment maintenant, l'éclipse semble rapide, mais faire des builds de fourmis semble plus lent ???
Craig Angus
@Craig Angus: étrange, quelle version d'éclipse utilisez-vous? Et quelle version de fourmi y est incluse?
VonC
20
Paramètres Eclipse Indigo 3.7.2 (Linux 64 bits)
Paramètres pour Sun / Oracle java version "1.6.0_31" et Eclipse 3.7 fonctionnant sous Linux x86-64:
Notez que cela utilise seulement 200 Mo pour le tas et 150 Mo pour le non-tas. Si vous utilisez d'énormes plugins, vous souhaiterez peut-être augmenter les limites "-Xmx200m" et "-XX: MaxPermSize = 150m".
La cible d'optimisation principale pour ces indicateurs a été de minimiser la latence dans tous les cas et, en tant que cible d'optimisation secondaire, de minimiser l'utilisation de la mémoire.
Fonctionne fantastiquement pour moi (même si j'ai doublé les valeurs pour les paramètres liés à la mémoire, c'est toujours bas et très rapide!)
Aktau
Vous avez les deux -XX: + UseConcMarkSweepGC et -XX: + UseParNewGC. Pourquoi? Je ne pense pas que vous puissiez utiliser les deux collecteurs de déchets, et je ne sais pas lequel sera finalement utilisé.
herman
Je pensais que -XX: + UseConcMarkSweepGC est pour la collecte des ordures de l'ancienne génération et -XX: + UseParNewGC est utilisé pour la collecte des ordures eden.
Chaque option et chaque argument d'une option doit être sur sa propre ligne.
Josh Clemm
14
-location
Pour faciliter l'exécution d'Eclipse deux fois et savoir à quel espace de travail vous avez affaire
Eclipse 3.6 ajoute une option de préférences pour spécifier ce qu'il faut afficher pour ce Workspace name (shown in window title)qui fonctionne beaucoup mieux que -showlocationpour trois raisons:
Vous n'avez pas besoin de redémarrer eclipse pour qu'elle prenne effet.
Vous pouvez choisir un code court.
Il apparaît en premier, avant la perspective et le nom de l'application.
Est-ce que Eclipse utilise un JDK comme environnement par défaut?
Thorbjørn Ravn Andersen
Cela peut être utilisé pour qu'Eclipse utilise un JDK spécifique / différent comme environnement par défaut.
Gilberto Olimpio
7
Vous pouvez également essayer de courir avec JRockit . C'est une machine virtuelle Java optimisée pour les serveurs, mais de nombreuses applications clientes de longue durée, comme les IDE, fonctionnent très bien sur JRockit. Eclipse ne fait pas exception. JRockit n'a pas d'espace permanent, vous n'avez donc pas besoin de le configurer.
Il est possible de définir un objectif de temps de pause (ms) pour éviter de longues pauses gc bloquant l'interface utilisateur.
Je ne prends généralement pas la peine de définir -Xmx et -Xms et de laisser JRockit agrandir le tas comme il le juge nécessaire. Si vous lancez votre application Eclipse avec JRockit, vous pouvez également surveiller, profiler et trouver des fuites de mémoire dans votre application à l'aide de la suite d'outils JRockit Mission Control. Vous téléchargez les plugins depuis ce site de mise à jour . Remarque, ne fonctionne que pour Eclipse 3.3 et Eclipse 3.4
J'ai déjà couru Eclipse sur JRockit et j'ai très bien couru
Craig Angus
5
Voici mon propre paramètre pour mon Eclipse fonctionnant sur un ordinateur portable i7 2630M 16 Go de RAM, ce paramètre est utilisé depuis une semaine, sans un seul plantage, et Eclipse 3.7 fonctionne correctement.
Si vous m'aimez et que vous rencontrez des problèmes avec la version Oracle actuelle de 1.6, vous souhaiterez peut-être mettre à jour votre JDK ou définir
eclipse.ini
paramètres améliorés pour Helios 3.6 sont ici (ci-dessous, dans une nouvelle réponse): stackoverflow.com/questions/142357/…Réponses:
C'est encore cette période de l'année: "eclipse.ini take 3" les paramètres sont de retour!
Paramètres Eclipse Helios 3.6 et 3.6.x
texte alternatif http://www.eclipse.org/home/promotions/friends-helios/helios.png
Une fois les paramètres pour Eclipse Ganymede 3.4.x et Eclipse Galileo 3.5.x , voici un regard en profondeur sur un « optimisé » eclipse.ini fichier de paramètres pour Eclipse Helios 3.6.x:
certaines options propriétaires de Sun peuvent être impliquées).( par "optimisé", je veux dire capable d'exécuter une Eclipse à part entière sur notre station de travail de merde au travail, un vieux P4 de 2002 avec 2Go de RAM et XPSp3. Mais j'ai également testé ces mêmes paramètres sur Windows7 )
Eclipse.ini
AVERTISSEMENT : pour les plates-formes non Windows, utilisez l'option propriétaire Sun
-XX:MaxPermSize
au lieu de l'option propriétaire Eclipse--launcher.XXMaxPermSize
.C'est-à-dire: à moins que vous n'utilisiez la dernière version 7 de jdk6u21 . Voir la section Oracle ci-dessous.
Remarque:
adaptez le
p2.reconciler.dropins.directory
à un répertoire externe de votre choix.Voir cette réponse SO . L'idée est de pouvoir déposer de nouveaux plugins dans un répertoire indépendamment de toute installation Eclipse.
Les sections suivantes détaillent le contenu de ce
eclipse.ini
fichier.Le redoutable Oracle JVM 1.6u21 (pre build 7) et Eclipse se bloque
Andrew Niefer m'a alerté de cette situation et a écrit un article de blog sur un argument vm non standard (
-XX:MaxPermSize
) et peut empêcher les vms d'autres fournisseurs de démarrer.Mais la version éclipse de cette option (
--launcher.XXMaxPermSize
) ne fonctionne pas avec le nouveau JDK (6u21, sauf si vous utilisez la version 7 de 6u21, voir ci-dessous).le
finalLa solution se trouve sur le wiki Eclipse , et pour Helios sur Windows avec 6u21 pre build 7 uniquement:C'est tout. Aucun paramètre à modifier ici (encore une fois, uniquement pour Helios sur Windows avec une pré-version 6u21 7 ).
Pour la plate - forme non-Windows, vous devez revenir à l'option exclusive dim.
-XX:MaxPermSize
.Le problème est basé sur une régression: l' identification JVM échoue en raison du changement de marque Oracle dans java.exe et a déclenché le bogue 319514 sur Eclipse.
Andrew s'est occupé du bug 320005 - [lanceur]
--launcher.XXMaxPermSize: isSunVM
devrait retourner vrai pour Oracle , mais ce ne sera que pour Helios 3.6.1.Francis Upton , un autre committer d'Eclipse, réfléchit à la situation .
Mise à jour u21b7, 27 juillet :
Oracle a régressé la modification pour la prochaine version de Java 6 et ne l'implémentera plus avant JDK 7 .
Si vous utilisez jdk6u21 build 7 , vous pouvez revenir à
--launcher.XXMaxPermSize
(option eclipse) au lieu de-XX:MaxPermSize
(option non standard).La détection automatique qui se produit dans la cale du lanceur C
eclipse.exe
cherchera toujours laSun Microsystems
chaîne " ", mais avec 6u21b7, cela fonctionnera à nouveau.Pour l'instant, je garde toujours la
-XX:MaxPermSize
version (car je ne sais pas quand tout le monde lancera eclipse le bon JDK).`-Startup` et` --launcher.library` implicites`
Contrairement aux paramètres précédents, le chemin exact de ces modules n'est plus défini, ce qui est pratique car il peut varier entre les différentes versions d'Eclipse 3.6.x:
org.eclipse.equinox.launcher
bundle avec la version la plus élevée.plugins
répertoire leorg.eclipse.equinox.launcher.[platform]
fragment approprié avec la version la plus élevée et utilise la bibliothèque partagée nommée à l'eclipse_*
intérieur.Utilisez JDK6
Le JDK6 est désormais explicitement requis pour lancer Eclipse:
Cette question SO rapporte une incidence positive pour le développement sur Mac OS.
+ UnlockExperimentalVMOptions
Les options suivantes font partie de certaines des options expérimentales de la JVM Sun.
Ils ont été signalés dans ce blog pour potentiellement accélérer Eclipse.
Voir toutes les options JVM ici et également sur la page d'options Java Hotspot officielle .
Remarque: la liste détaillée des rapports d' options qui
UseFastAccessorMethods
peuvent être actifs par défaut.Voir aussi "Mettre à jour votre JVM" :
Ouverture de fichiers dans Eclipse à partir de la ligne de commande
Voir le blog d'Andrew Niefer rapportant cette nouvelle option:
Voir bug 301033 pour référence. Initialement bug 4922 (octobre 2001, corrigé 9 ans plus tard).
p2 et l'invite de dialogue non signé
Si vous en avez assez de cette boîte de dialogue lors de l'installation de vos nombreux plugins:
, ajoutez votre
eclipse.ini
:Voir cet article de blog de Chris Aniszczy et le rapport de bogue 235526 .
---------- http://www.eclipse.org/home/categories/images/wiki.gif texte alternatif http://www.eclipse.org/home/categories/images/wiki.gif texte alternatif http://www.eclipse.org/home/categories/images/wiki.gif
Options additionelles
Ces options ne sont pas directement décrites
eclipse.ini
ci - dessus, mais peuvent être utiles si nécessaire.Le problème `user.home` sur Windows7
Lorsque eclipse démarre, il lit son fichier de clés (où les mots de passe sont conservés), un fichier situé dans
user.home
.Si pour une raison qui
user.home
ne se résout pas correctement en un chemin complet, Eclipse ne démarre pas.Initialement soulevé dans cette question SO , si vous rencontrez ce problème , vous devez redéfinir le fichier de clés sur un chemin explicite (plus de user.home à résoudre au début)
Ajoutez votre
eclipse.ini
:Cela a été suivi par le bug 300577 , il a été résolu dans cette autre question SO .
Mode débogage
Attendez, il y a plus d'un fichier de paramètres dans Eclipse.
si vous ajoutez à votre
eclipse.ini
option:, vous activez le mode de débogage et Eclipse recherchera un autre fichier de paramètres: un
.options
fichier dans lequel vous pourrez spécifier certaines options OSGI.Et c'est génial lorsque vous ajoutez de nouveaux plugins via le dossier dropins.
Ajoutez dans votre fichier .options les paramètres suivants, comme décrit dans cet article de blog " Diagnostic Dropins " :
Cela vient du bogue 264924 - [réconciliateur] Aucun diagnostic de problèmes de dropins , ce qui résout finalement le problème suivant comme:
Chemin de classe manifeste
Voir cet article de blog :
Cela signifie que certains de vos projets pourraient ne plus être compilés dans Helios.
Si vous souhaitez revenir au comportement de Galileo, ajoutez:
Voir bug 305037 , bug 313965 et bug 313890 pour les références.
Pile IPV4
Cette question SO mentionne un correctif potentiel lorsque vous n'accédez pas aux sites de mise à jour des plugins:
Mentionné ici juste au cas où cela pourrait aider dans votre configuration.
Optimisations potentielles JVM1.7x64
Cet article rapporte:
la source
-XX:CompileThreshold=5
provoque des ralentissements HORRENDOUS pour moi. Se débarrasser de cette seule option a réduit mon temps de démarrage d'Eclipse à 17 secondes de> 1 min !! Sans parler de la lenteur de l'IDE en général. Voir ce lien-XX:CompileThreshold=5
est une valeur très faible (par défaut = 10000). Cette valeur représente le nombre d'appels / branches de méthode avant de le compiler. Une valeur trop faible entraînera le remplissage prématuré de votre CodeCache et la console peut signaler:CodeCache is full. Compiler has been disabled
Une fois le compilateur désactivé, vous remarquerez une lenteur dans l'application. Il existe deux façons de résoudre ce problème: 1. Utilisez-XX:CompileThreshold=1000
(affinez ce nombre) ou 2. Essayez d'augmenter la taille du cache de code à l'aide de-XX:ReservedCodeCacheSize=64m
(doubler par rapport aux 32 m par défaut)Paramètres Eclipse Galileo 3.5 et 3.5.1
Actuellement (novembre 2009), je teste avec jdk6 update 17 le jeu d'options de configuration suivant (avec Galileo - eclipse 3.5.x, voir ci - dessous pour 3.4 ou supérieur pour Helios 3.6.x ):
(bien sûr, adaptez les chemins relatifs présent dans ce eclipse.ini aux chemins corrects pour votre configuration)
Remarque: pour eclipse3.5 , remplacez
startup
etlauncher.library
lignes par:eclipse.ini 3.5.1
Voir aussi ma réponse originale ci-dessus pour plus d'informations.
Changements (à partir de juillet 2009)
org.eclipse.equinox.p2.reconciler.dropins.directory
option.Avant, ces chemins relatifs continuaient d'être réécrits en absolus lorsque eclipse s'est lancé ...
Avertissements
Il y avait un bogue avec des points d'arrêt ignorés réellement liés au JDK.
Utilisez JDK6u16 ou plus récent pour lancer eclipse (Vous pouvez alors définir autant de JDK que vous souhaitez compiler dans eclipse: ce n'est pas parce que vous lancez une éclipse avec JDK6 que vous devrez compiler avec ce même JDK).
Max
Notez l'utilisation de:
Comme documenté dans le Wiki Eclipse ,
Comme détaillé dans cette entrée :
la source
Paramètres Eclipse Ganymede 3.4.2
Pour les paramètres plus récents, voir Paramètres Eclipse Galileo 3.5 ci-dessus .
JDK
Le meilleur réglage JVM toujours , à mon avis, comprend la dernière JDK vous pouvez trouver (donc pour l' instant, jdk1.6.0_b07 jusqu'à B16, sauf B14 et B15 )
eclipse.ini
Même avec ces paramètres de mémoire assez bas, je peux exécuter de grands projets Java (avec un serveur Web) sur mon ancien bureau (2002) avec 2 Go de RAM.
Voir la réponse SO de GKelly et l'entrée de blog de Piotr Gabryanczyk pour plus de détails sur les nouvelles options.
surveillance
Vous pouvez également envisager de lancer:
Comme indiqué dans une question précédente sur la consommation de mémoire .
la source
Paramètres Eclipse Indigo 3.7.2 (Linux 64 bits)
Paramètres pour Sun / Oracle java version "1.6.0_31" et Eclipse 3.7 fonctionnant sous Linux x86-64:
Notez que cela utilise seulement 200 Mo pour le tas et 150 Mo pour le non-tas. Si vous utilisez d'énormes plugins, vous souhaiterez peut-être augmenter les limites "-Xmx200m" et "-XX: MaxPermSize = 150m".
La cible d'optimisation principale pour ces indicateurs a été de minimiser la latence dans tous les cas et, en tant que cible d'optimisation secondaire, de minimiser l'utilisation de la mémoire.
la source
-location
Pour faciliter l'exécution d'Eclipse deux fois et savoir à quel espace de travail vous avez affaire
Eclipse 3.6 ajoute une option de préférences pour spécifier ce qu'il faut afficher pour ce
Workspace name (shown in window title)
qui fonctionne beaucoup mieux que-showlocation
pour trois raisons:la source
Si vous optez pour la mise à jour 14 de jdk6, je vous suggère d'utiliser le garbage collector G1 qui semble améliorer les performances.
Pour ce faire, supprimez ces paramètres:
-XX: + UseConcMarkSweepGC
-XX: + CMSIncrementalMode
-XX: + CMSIncrementalPacing
et remplacez-les par ceux-ci:
-XX: + UnlockExperimentalVMOptions
-XX: + UseG1GC
la source
Si vous utilisez Linux + Sun JDK / JRE 32bits , remplacez "-vm" par:
Si vous utilisez Linux + Sun JDK / JRE 64bits , remplacez "-vm" par:
Cela fonctionne bien pour moi sur Ubuntu 8.10 et 9.04
la source
Vous pouvez également essayer de courir avec JRockit . C'est une machine virtuelle Java optimisée pour les serveurs, mais de nombreuses applications clientes de longue durée, comme les IDE, fonctionnent très bien sur JRockit. Eclipse ne fait pas exception. JRockit n'a pas d'espace permanent, vous n'avez donc pas besoin de le configurer.
Il est possible de définir un objectif de temps de pause (ms) pour éviter de longues pauses gc bloquant l'interface utilisateur.
Je ne prends généralement pas la peine de définir -Xmx et -Xms et de laisser JRockit agrandir le tas comme il le juge nécessaire. Si vous lancez votre application Eclipse avec JRockit, vous pouvez également surveiller, profiler et trouver des fuites de mémoire dans votre application à l'aide de la suite d'outils JRockit Mission Control. Vous téléchargez les plugins depuis ce site de mise à jour . Remarque, ne fonctionne que pour Eclipse 3.3 et Eclipse 3.4
la source
Voici mon propre paramètre pour mon Eclipse fonctionnant sur un ordinateur portable i7 2630M 16 Go de RAM, ce paramètre est utilisé depuis une semaine, sans un seul plantage, et Eclipse 3.7 fonctionne correctement.
Calculs: pour Win 7 x64
la source
Et ces paramètres ont fonctionné comme un charme pour moi. J'utilise OS X10.6, Eclipse 3.7 Indigo, JDK1.6.0_24
la source
Mes propres paramètres (Java 1.7, modifier pour 1.6):
la source
Eclipse aime beaucoup de RAM. Utilisez au moins -Xmx512M. Plus si disponible.
la source
Si vous m'aimez et que vous rencontrez des problèmes avec la version Oracle actuelle de 1.6, vous souhaiterez peut-être mettre à jour votre JDK ou définir
. Plus d'informations sont disponibles ici: http://java.dzone.com/articles/latest-java-update-fixesla source
XX: + UseParallelGC c'est l'option la plus impressionnante jamais !!!
la source
-vm
C: \ Program Files \ Java \ jdk1.6.0_07 \ jre \ bin \ client \ jvm.dll
Pour spécifier la version java que vous utilisez et utiliser la DLL au lieu de lancer un processus javaw
la source
Voici ce que j'utilise (bien que je les ai dans le raccourci au lieu du fichier de paramètres):
eclipse.exe -showlocation -vm "C: \ Java \ jdk1.6.0_07 \ bin \ javaw.exe" -vmargs -Xms256M -Xmx768M -XX: + UseParallelGC -XX: MaxPermSize = 128M
la source