316 votes

Quels sont les meilleurs paramètres JVM pour Eclipse?

Quels sont les meilleurs paramètres JVM que vous avez trouvés pour exécuter Eclipse?

76voto

VonC Points 414372

Eclipse Galileo 3.5 et 3.5.1 paramètres

Actuellement (novembre 2009), je suis en train de tester avec jdk6 mise à jour 17 la configuration suivante ensemble d'options (avec Galileo -- eclipse 3.5.x, voir ci-dessous pour 3.4 ou ci-dessus pour Helios 3.6.x):
(bien sûr, adapter les chemins d'accès relatifs présents dans cette éclipse.ini pour les chemins corrects pour votre installation)

Remarque: pour eclipse3.5, remplacer startup et launcher.library lignes:

-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519

eclipse.ini 3.5.1

-data
../../workspace
-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
384m
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-vm
../../../../program files/Java/jdk1.6.0_17/jre/bin/client/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=384m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins

Voir aussi ma réponse originale à cette question ci-dessus pour plus d'informations.

Les changements (à partir de juillet 2009)

  • se réfère à l'écran et pas le cadre
  • partagé plugins: org.eclipse.equinox.p2.reconciler.dropins.directory option.
  • Galileo prend en charge entièrement les chemins relatifs pour l'espace de travail ou de VM (éviter d'avoir à modifier celles d'une éclipse de l'installation à l'autre, si, bien sûr, votre JVM et de l'espace de travail restent les mêmes)
    Avant, ces chemins relatifs gardé la réécriture dans l'absolu lorsque l'éclipse a lancé lui-même...
  • Vous pouvez également copier le répertoire JRE de Java JDK installation à l'intérieur de votre répertoire eclipse

Mises en garde

Il y avait un bug avec ignoré des points d'arrêt réellement liés à la JDK.
N'utilisez JDK6u16 ou plus récent pour le lancement d' eclipse (Vous pouvez ensuite définir autant de Jdk vous voulez compiler dans eclipse: c'est pas parce que vous lancez une éclipse JDK6 que vous devrez le compiler avec la même JDK).

Max

Remarque l'utilisation de:

--launcher.XXMaxPermSize
384m
-vmargs
-XX:MaxPermSize=128m

Comme indiqué dans l' Éclipse Wiki,

Eclipse 3.3 prend en charge un nouvel argument à l'écran de lancement: --launcher.XXMaxPermSize.
Si la machine virtuelle utilisée est un Soleil VM et il n'y a pas déjà un -XX:MaxPermSize= VM argument, alors que le lanceur va ajouter automatiquement -XX:MaxPermSize=256m à la liste des VM arguments utilisés.
Le 3.3 lanceur est seulement capable d'identifier Soleil machines virtuelles sur Windows.

Comme détaillé dans cette entrée:

Pas toutes les machines virtuelles accepter l' -XX:MaxPermSize argument qui est pourquoi il est passé de cette manière. Il peut (ou non) existent des problèmes avec l'identification de soleil vms.
Remarque: Eclipse 3.3.1 a un bug où le lanceur ne peut pas détecter un Soleil VM, et donc ne pas utiliser la bonne PermGen taille. Il semble que ce pourrait avoir été un bug connu sur Mac OS X pour 3.3.0 .
Si vous utilisez l'une de ces plate-forme, ajouter l' -XX drapeau de l' eclipse.ini comme décrit ci-dessus.

Notes:

  • le "384m" ligne se traduit par le "=384m" une partie de la VM argument, si la VM est sensible à la casse sur le "m", ensuite, le soi est cet argument.
  • le "--launcher." préfixe qui indique que l'argument est consommée par le lanceur lui-même et a été ajoutée à l'écran de lancement des arguments précis pour éviter les collisions de noms avec l'application arguments. (D'autres exemples sont --launcher.library, --launcher.suppressErrors)

L' -vmargs -XX:MaxPermSize=384m de la partie est de l'argument transmis directement à la machine virtuelle, en contournant le lanceur entièrement et non vérifier sur la machine virtuelle vendeur est utilisé.

63voto

VonC Points 414372

Eclipse Ganymede 3.4.2 paramètres

Pour les plus récents paramètres, voir Eclipse Galileo 3.5 paramètres ci-dessus.


JDK

Le meilleur de la JVM réglage de toujours, à mon avis, inclut la dernière version de JDK vous pouvez trouver (donc pour l'instant, jdk1.6.0_b07 jusqu'à b16, à l'exception b14 et b15)

eclipse.ini

Même avec ces jolis bas des paramètres de la mémoire, je peux exécuter de grands projets java (avec un serveur web) sur mon vieux (2002) sur le bureau avec 2Go de RAM.

-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vm
jdk1.6.0_10\jre\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss2m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CompileThreshold=5
-Dcom.sun.management.jmxremote

Voir GKelly est DONC réponse et Piotr Gabryanczyk de l'entrée de blog pour plus de détails sur les nouvelles options.

Surveillance

Vous pouvez également envisager de lancer:

C:\[jdk1.6.0_0x path]\bin\jconsole.exe

Comme l'a dit dans une question précédente au sujet de la consommation de mémoire.

20voto

Mikko Rantalainen Points 2322

Eclipse Indigo 3.7.2 paramètres (64 bits linux)

Paramètres de Sun/Oracle java version "1.6.0_31" et Eclipse 3.7 en cours d'exécution sur x86-64 Linux:

-nosplash
-vmargs
-Xincgc
-Xss500k
-Dosgi.requiredJavaVersion=1.6
-Xms64m
-Xmx200m
-XX:NewSize=8m
-XX:PermSize=80m
-XX:MaxPermSize=150m
-XX:MaxPermHeapExpansion=10m
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseParNewGC
-XX:+CMSConcurrentMTEnabled
-XX:ConcGCThreads=2
-XX:ParallelGCThreads=2
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=5
-XX:GCTimeRatio=49
-XX:MaxGCPauseMillis=20
-XX:GCPauseIntervalMillis=1000
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSClassUnloadingEnabled
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+AggressiveOpts
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses

Notez que cela utilise seulement 200 MO pour le tas et 150 MO pour les non-tas. Si vous êtes en utilisant énorme plugins, vous souhaiterez peut-être augmenter à la fois le "-Xmx200m" et "-XX:MaxPermSize=150m" les limites.

La principale cible d'optimisation de ces indicateurs a été de réduire le temps de latence dans tous les cas et secondaire de la cible d'optimisation de minimiser l'utilisation de la mémoire.

14voto

Stephen Denne Points 17031

-showlocation

Pour faciliter l'exécution d'eclipse à deux reprises et connaître l'espace de travail avec lequel vous travaillez

Eclipse 3.6 ajoute une option de préférences pour spécifier ce qu'il faut afficher pour le Workspace name (shown in window title) qui fonctionne beaucoup mieux que -showlocation pour trois raisons:

  1. Vous n'avez pas besoin de redémarrer Eclipse pour qu'elle prenne effet.
  2. Vous pouvez choisir un code court.
  3. Il apparaît en premier, avant le nom de la perspective et de l'application.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X