Vous lancez votre Eclipse via

C:\eclipse-jee-ganymede-SR1-win32\eclipse\eclipse.exe -clean -data "C:\Documents and Settings\monUser\workspace"

Modifier votre initial fichier eclipse.ini :

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

En

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-XX:PermSize=128m
-XX:MaxPermSize=256m

Au besoin préciser la version java utilisée avec :

-vm "C:\Program Files\Java\jdk1.6.0_10\bin\javaw.exe"

Utiliser une ancienne jre, serait :

-vm "C:\Program Files\Java\jdk1.5.0_15\bin\javaw.exe"

Les options non standards de java :

C:\Documents and Settings\monUser>java -X
   -Xmixed           mixed mode execution (default)
   -Xint             interpreted mode execution only
   -Xbootclasspath:<directories and zip/jar files separated by ;>
                     set search path for bootstrap classes and resources
   -Xbootclasspath/a:<directories and zip/jar files separated by ;>
                     append to end of bootstrap class path
   -Xbootclasspath/p:<directories and zip/jar files separated by ;>
                     prepend in front of bootstrap class path
   -Xnoclassgc       disable class garbage collection
   -Xincgc           enable incremental garbage collection
   -Xloggc:<file>    log GC status to a file with time stamps
   -Xbatch           disable background compilation
   -Xms<size>        set initial Java heap size
   -Xmx<size>        set maximum Java heap size
   -Xss<size>        set java thread stack size
   -Xprof            output cpu profiling data
   -Xfuture          enable strictest checks, anticipating future default
   -Xrs              reduce use of OS signals by Java/VM (see documentation)
   -Xcheck:jni       perform additional checks for JNI functions
   -Xshare:off       do not attempt to use shared class data
   -Xshare:auto      use shared class data if possible (default)
   -Xshare:on        require using shared class data, otherwise fail.

-Xmx

Avec cette option vous pouvez changer la taille maximum du tas que la machine virtuelle Java peut adresser dans les systèmes Java. (Par défaut, elle est de 64 Mo)?. Pour de gros fichiers ce peut être insuffisant. En utilisant

[-Xmx512m]

la taille du tas est agrandie à un demi gigaoctet.

-Xms

Avec cette option vous pouvez changer la taille initiale du tas que la machine virtuelle Java peut adresser dans les systèmes Java. (Par défaut, elle est de 64 Mo)?. Pour de gros fichiers ce peut être insuffisant. En utilisant

[-Xms512m]

la taille du tas est agrandie à un demi gigaoctet.

The Eclipse runtime options

Command line arguments
--launcher.timeout <value> (Executable)
   a timeout value for how long the launcher should spend trying to communicate with an already running eclipse before the launcher gives up and launches a new eclipse instance. Default is 60 (seconds). 
--launcher.XXMaxPermSize <value> (Executable)
   If specified, and the executable detects that the VM being used is a Sun VM, then the launcher will automatically add the -XX:MaxPermSize=<value> vm argument. The executable is not capable of detecting Sun VMs on all platforms.
Launcher ini file

File format

This file must be named after the executable name (for example, eclipse.exe will read eclipse.ini, whereas launcher.exe will read launcher.ini) and every parameter must be specified on a new line in the file. Here is an example of such a file specifying the vm location and some parameters:

-vm
c:/myVm/java.exe
-vmargs
-Dms40M

Quels sont les meilleurs configuration de la JVM pour Eclipse ?

G1 is the new garbage collector in preparation for the JDK 7, but already used in the version 6 release from u17.