217 votes

Erreur d'Eclipse : "Impossible de créer la machine virtuelle Java".

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

Enter image description here

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 :

  1. Ajout du chemin complet de javaw.exe -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
  2. Retirer le -vm l'option zéro
  3. Suppression de --launcher.XXMaxPermSize corrige le problème, mais provoque des erreurs de permgens
  4. Suppression de la valeur 512 de --launcher.XXMaxPermSize corrige le problème, mais provoque des erreurs de permgens
  5. 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.

284voto

Akhil Jain Points 3352

1. Ouvrez le eclipse.ini de votre dossier eclipse, voir l'image ci-dessous.

eclipse.ini

2. Ouvrir eclipse.ini en Notepad ou tout autre text-editor application, trouver la ligne -Xmx256m (ou -Xmx1024m ). Modifiez maintenant la valeur par défaut 256m (ou 1024m ) à 512m . Vous devez également indiquer la version exacte de java installée (1.6 ou 1.7 ou autre).

max size

Comme ça :

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

OU

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

OU

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

Alors ça marche bien pour moi.

9 votes

Cela ne fonctionnera que si le problème était le manque de mémoire et si vous inférieur les valeurs dans eclipse.ini. En les augmentant, vous ne ferez que rendre ce problème plus probable.

2 votes

Merci yar, j'ai augmenté cette valeur et cela a bien fonctionné, je pense que cela s'est produit parce que j'ai mis à jour le JDK.

1 votes

Cela a également fonctionné pour moi - NB : ewclipse a cessé de fonctionner - j'avais -Xmx1024m et s'est tourné vers Xmx512m et a fonctionné. Apparemment il n'y avait pas assez de mémoire ( ?)

116voto

RonQi Points 757

Essayez d'ajouter

-vm
D:\Java\jdk1.6.0_29\bin\javaw.exe

FYI : Référez-vous sunblog

Pour les autres qui pourraient avoir des problèmes avec Java 7, selon Eclipse Wiki - eclipse.ini vm_value (exemple Windows)

Cela peut ne pas fonctionner sur tous les systèmes. Si vous rencontrez l'erreur "Java a été lancé mais a renvoyé un code de sortie=1" lors du démarrage de l'éclipse, modifiez l'argument -vm pour qu'il pointe vers jvm.dll.

par exemple

-vm
C:\Program Files\Java\jre7\bin\client\jvm.dll

Notez également que

L'option -vm doit se trouver avant l'option -vmargs, car tout ce qui suit -vmargs est transmis directement à la JVM.

0 votes

Cela fonctionne très bien, mais je préfère utiliser -vm C:\Program Fichiers (x86) \Java\jre6\bin\javaw.exe car le chemin JRE a plus de chances de rester stable, surtout si vous partagez une seule installation Eclipse sur plusieurs machines/VM.

0 votes

Cela a fonctionné pour moi, mais pendant le chargement, eclipse se bloque dans org.eclipse.debug.core.

7 votes

+1 Il me manquait la partie commande. Partout ailleurs sur le net, on parle de l'argument -vm mais on oublie de dire qu'il doit être utilisé avant -vmargs.

82voto

Matt Ball Points 165937

Essayez de retirer le -vm P:\Programs\jdk1.6\bin lignes.


Par ailleurs, une recommandation générale : définissez -Dosgi.requiredJavaVersion=1.6 pas 1.5 .

52 votes

Dans eclipse.ini, la réduction de -Xmx à 512m au lieu de 1024 a réglé le problème pour moi. Le système avait 1 Go de RAM.

3 votes

@dexter, merci, ça a marché pour moi, par décrémentation Xmx

2 votes

Pour macos eclipse-2020, ajouter : "-vm" "/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java" sous "--launcher.appendVmargs" dans eclipse.ini.

26voto

Popeye Points 5478

Je sais que c'est assez vieux maintenant mais je viens d'avoir le même problème et le problème était que j'allouais trop de mémoire à eclipse qui ne pouvait pas s'en emparer. Ouvrez donc le fichier eclipse.ini et diminuez la quantité de mémoire allouée à l'application. -Xmx XXMaxPermSize J'ai changé le mien en -Xmx512m y XXMaxPermSize256m

0 votes

Est-ce que c'est sur une machine 32bit ? Parce que je crois qu'il y a une limite à la quantité de mémoire que vous pouvez utiliser sur Windows 32bit.

0 votes

@Maro Oui, c'est vrai. J'envisage de passer à 64 bits.

1 votes

Cela a marché pour moi, j'ai remplacé 768m par 512m sur le paramètre -Xmx.

18voto

Furqi Points 1649
  1. Ouvrez le eclipse.ini de votre dossier eclipse.

  2. Il a une certaine configuration supplémentaire. Trouver la ligne –launcher.XXMaxPermSize . Maintenant, supprimez la valeur par défaut 256m et enregistrez-la.

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