Je reçois ce message d'erreur lorsque je lance Eclipse Helios sous Windows 7 :
Échec de la création de la machine virtuelle Java
Mon eclipse.ini se présente comme suit :
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-vm
P:\Programs\jdk1.6\bin
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms120m
-Xmn100m
-Xmx1024m
D'après ce que je sais, mon JAVA_HOME est correctement défini. Comment puis-je corriger cela ?
Ce que j'ai essayé jusqu'à présent :
- Ajout du chemin complet de javaw.exe
-vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
- Retirer le
-vm
l'option zéro - Suppression de
--launcher.XXMaxPermSize
corrige le problème, mais provoque des erreurs de permgens - Suppression de la valeur
512
de--launcher.XXMaxPermSize
corrige le problème, mais provoque des erreurs de permgens - Réduction de
-Xmx
à512m
corrige également le problème.
Pourquoi ne puis-je pas utiliser '1024m' pour '-Xmx' et '--launcher.XXMaxPermSize' ?
18 votes
Cela signifie que jvm ne peut pas allouer l'espace mémoire requis (1024+512) sur votre ordinateur.
0 votes
Donc, juste pour confirmer que j'ai bien compris. La JVM allouera la quantité de mémoire spécifiée par (XXMaxPermSize + Xmx)
2 votes
Il ne crée pas immédiatement la mémoire avec la taille maximale du tas (spécifiée par -Xmx) lors du démarrage de vm. Mais il s'assure qu'il a la capacité de créer la taille maximale du tas au moment du démarrage de la machine virtuelle. Si ce n'est pas le cas, la vm ne peut pas être créée.
0 votes
Je ne sais pas pourquoi, mais sur ma machine, Eclipse n'a ce problème que lorsque Dragon NaturallySpeaking fonctionne. La solution de RonQi a fonctionné pour moi.
0 votes
Rob : C'est probablement parce que Dragon utilise beaucoup de mémoire. La cause de ce problème semble être que la JVM ne peut pas allouer suffisamment de mémoire.