Erreur Eclipse: «Impossible de créer la machine virtuelle Java»

211

Je reçois ce message d'erreur lorsque je démarre Eclipse Helios sur Windows 7:

Impossible de créer la machine virtuelle Java

Entrez la description de l'image ici

Mon eclipse.ini ressemble à ceci:

-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

Mon JAVA_HOME est correctement réglé pour autant que je sache. Comment puis-je réparer cela?

Ce que j'ai essayé jusqu'à présent:

  1. Ajout du chemin d'accès complet à javaw.exe -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
  2. Suppression -vmtotale de l' option
  3. La suppression --launcher.XXMaxPermSizerésout le problème, mais elle provoque des erreurs de permgen
  4. La suppression de la valeur 512de --launcher.XXMaxPermSizefixe le problème, mais il provoque des erreurs permgen
  5. La réduction -Xmxpermet 512mégalement de résoudre le problème.

Pourquoi ne puis-je pas utiliser '1024m' pour '-Xmx' et '--launcher.XXMaxPermSize'?

Maro
la source
18
Cela signifie que jvm ne peut pas allouer l'espace mémoire requis (1024 + 512) sur votre ordinateur.
Kane
Donc, juste pour confirmer que je comprends bien. La JVM allouera la quantité de mémoire spécifiée par (XXMaxPermSize + Xmx)
Maro
2
Il ne crée pas immédiatement la mémoire avec la taille de segment maximale (spécifiée par -Xmx) lors du démarrage de vm. Mais il s'assurerait qu'il a la capacité de créer la taille de segment de mémoire maximale lors de l'exécution au démarrage de VM. Sinon, le VM ne peut pas être créé.
Kane
Je ne sais pas pourquoi, mais sur ma machine, Eclipse n'a ce problème que lorsque Dragon NaturallySpeaking est en cours d'exécution. La solution de RonQi a fonctionné pour moi.
voler
@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.
Stijn de Witt

Réponses:

80

Essayez de supprimer les -vm P:\Programs\jdk1.6\binlignes.


En outre, une recommandation générale: définir -Dosgi.requiredJavaVersion=1.6, non 1.5.

Matt Ball
la source
52
dans eclipse.ini, changer la réduction de -Xmx à 512m à partir de 1024 a résolu le problème pour moi. Le système avait 1 Go de RAM.
Dexter
3
@dexter, merci, cela a fonctionné pour moi, en diminuant Xmx
danisupr4
pour macos eclipse-2020, ajoutez: "- vm" "/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java" ci-dessous "--launcher.appendVmargs" dans eclipse.ini.
clark yu
283

1. Ouvrez le eclipse.inifichier depuis votre dossier eclipse, voir l'image ci-dessous.

eclipse.ini

2. Ouvrez eclipse.inidans Notepadou toute autre text-editorapplication, recherchez la ligne -Xmx256m(ou -Xmx1024m). Maintenant, changez la valeur par défaut 256m(ou 1024m) en 512m. Vous devez également indiquer la version installée Java exacte (1.6 ou 1.7 ou autre).

taille max

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.

Akhil Jain
la source
8
Cela ne fonctionnera que si le problème n'était pas assez de mémoire et si vous diminuez les valeurs dans eclipse.ini. Les augmenter ne fera que rendre ce problème plus probable.
Stijn de Witt
2
Merci yar, j'ai augmenté cette valeur et cela a bien fonctionné, je pense que c'est arrivé parce que j'ai mis à jour JDK.
Pervez Alam
1
En fait, cela a également fonctionné pour moi - NB: ewclipse vient de cesser de fonctionner - je me suis -Xmx1024mtourné vers Xmx512met j'ai travaillé. Apparemment, il n'y avait pas assez de mémoire (?)
Mr_and_Mrs_D
Dans mon cas, cela n'a pas fonctionné pour changer la valeur de 512 à 1024, mais quand je l'ai à nouveau changé pour la valeur précédente, c'est-à-dire 1024, cela a fonctionné.
TaRan LaYal
1
Wow .. Pour Eclipse Mars, j'ai changé -Xmx1024m en -Xmx512m et cela a fonctionné!
Umesh Patil
111

Essayez d'ajouter

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

FYI: Refer sunblog

Pour ceux qui pourraient avoir des problèmes avec Java 7, selon le wiki Eclipse - eclipse.ini vm_value (exemple Windows)

Cela peut ne pas fonctionner sur tous les systèmes. Si vous rencontrez une erreur «Java a été démarré mais a renvoyé le code de sortie = 1» lors du démarrage de l'éclipse, modifiez l'argument -vm pour pointer vers jvm.dll

par exemple

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

Notez également que

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

RonQi
la source
Cela fonctionne très bien, mais je préfère utiliser -vm C: \ Program Files (x86) \ Java \ jre6 \ bin \ javaw.exe car le chemin JRE est plus susceptible de rester stable, surtout si vous partagez une seule installation Eclipse sur plusieurs machines / VM.
voler
cela a fonctionné pour moi, mais pendant le chargement, eclipse est suspendu à org.eclipse.debug.core
Rahul Razdan
5
+1 Il me manquait la partie commande. Tous les autres endroits sur le net parlent de l'argument -vm mais ils négligent de dire que cela doit se produire avant -vmargs
demongolem
J'étais confronté au même problème lors de l'installation d'Android SDK avec eclipse et cela l'a corrigé. Merci !
codingscientist
Pour mémoire, j'utilise Windows 7 Home Premium et Server JVM 1.8.0_05, la deuxième méthode, en pointant vers la DLL qui a fonctionné pour moi, la première méthode ne fonctionnait pas.
Ironluca
26

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 beaucoup de mémoire à l'éclipse qu'il ne pouvait pas saisir. Ouvrez donc eclipse.ini et réduisez la quantité de mémoire allouée à-Xmx XXMaxPermSize j'ai changé le mien en -Xmx512metXXMaxPermSize256m

Popeye
la source
Est-ce sur une machine 32 bits? Parce que je crois qu'il y a une limite sur la quantité de mémoire que vous pouvez utiliser sur les fenêtres 32 bits
Maro
@Maro Oui, ça l'était. Vous cherchez à passer à 64 bits.
Popeye
1
A fonctionné pour moi, remplacé 768m par 512m sur le paramètre -Xmx.
tartak
Je suis sur une machine 64 bits avec 8 Go de mémoire mais j'utilise toujours -Xmx = 768m en combinaison avec -XX: PermSize = 256m et -XX: MaxPermSize = 512m s'est avéré trop. Il s'agit d'un Java 32 bits, il ne peut donc utiliser que 4 Go, mais le maximum semble être beaucoup plus bas dans la pratique. Je m'attendrais à ce que cela nécessite 1024m pour commencer et 1280m max ...
Stijn de Witt
Merci, je suis sûr que je l'ai changé en 1024 il y a quelques mois pour contourner le problème. La vraie réponse à cette question est de passer à Android Studio, c'est beaucoup plus agréable. Je ne suis revenu sur Eclipse que parce que je n'avais pas migré l'une de mes anciennes applications et que je devais faire quelque chose.
Ryan Heitner
18
  1. Ouvrez le eclipse.ini fichier depuis votre dossier eclipse.

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

Furqi
la source
18

J'ai supprimé eclipse.ini . J'ai rencontré ce problème et la suppression du fichier ini l'a résolu.

Monnster
la source
12
  1. Ouvrez le dossier avec Eclipse.exe et recherchez le fichier eclipse.ini
  2. Remplacez -vmargs par votre chemin réel actuel de javaw.exe: * -vm "c: \ Program Files \ Java \ jdk1.7.0_07 \ bin \ javaw.exe" *

    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
    -product
    com.android.ide.eclipse.adt.package.product
    --launcher.XXMaxPermSize
    256M
    -showsplash
    com.android.ide.eclipse.adt.package.product
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    **-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”** 
    -Dosgi.requiredJavaVersion=1.6
    -Xms40m
    -Xmx768m
    -Declipse.buildId=v21.1.0-569685
    
Un Garhy
la source
9

Vous pouvez également résoudre ce problème en supprimant la valeur "256m" sous la ligne "-launcher.XXMaxPermSize".

Yasir Ali
la source
A travaillé pour moi. Bien que même avec cette valeur, cela fonctionnait très bien après la fermeture de session Windows, puis la connexion.
amar
9

J'ai trouvé une solution très simple pour cela. Il suffit de supprimereclipse.ini fichier, mais sauvegardez d'abord. J'ai eu ce même problème plusieurs fois et finalement je l'ai supprimé et je n'ai plus le problème.

Cela a également augmenté le temps de chargement. Maintenant, mon Eclipse démarre plus rapidement que précédemment.

user3739970
la source
Après avoir supprimé le eclipse.ini , j'obtiens cette erreur, lorsque j'ai essayé de démarrer Eclipse => le lanceur d'exécution eclipse n'a pas pu localiser sa bibliothèque partagée
associée
impressionnant! j'ai essayé tant d'étapes pour éditer le fichier ini. mais cette réponse est excellente. Ça marche. à votre santé!
edge
7

Dans le STS.conffichier, vous devez vérifier deux choses importantes pour éviter de créer / allouer un problème jvm

1. Indiquez l'emplacement d'installation exact de jdk:

--vm C:\Program Files\Java\jdk1.7.0_01\jre\bin\javaw.exe

2. Vous devez fournir la version installée java exacte:

--Dosgi.requiredJavaVersion=1.7

3. Essayez de réduire la taille de la mémoire:

--XX:MaxPermSize=256m
rajachinnappan
la source
7
  1. Ouvrez le fichier ecplise.ini qui se trouve dans le dossier d'installation eclipse.

  2. Recherchez et remplacez la ligne -vmargs par -vm D: \ jdk1.6.0_23 \ bin \ javaw.exe OU supprimez simplement la ligne -vmargs et enregistrez-la. Maintenant, le problème est résolu

Rajas
la source
2
Merci @Rajas vient de supprimer la ligne -vmargs et de l'enregistrer a fonctionné pour moi
Bernauer
5

Après avoir essayé la solution ci-dessus de réduction de la mémoire, Eclipse commence à fonctionner mais se bloque à chaque fois lors du chargement des plugins depuis l'espace de travail spécialement à org.eclipse.debug.core.

J'ai trouvé la solution ici, Eclipse se bloque sur Splash Screen , et je veux la partager. Espérons que cela puisse aussi aider les autres.

Rahul Razdan
la source
contrairement à tout ce que j'ai essayé au cours de la dernière heure, cela a fonctionné, merci!
Justin T.
Lien mort, avez-vous une autre chance?
Adam Parkin
4

Assurez-vous que eclipse.ini n'a pas d'entrée multiple et n'a pas utilisé d'entrée vm avant vmargs:

-vm
  D:/java/jdk1.8.0_65/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
[email protected]/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
Sunil shakya
la source
3

Essaye celui-là:

-startup plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar 
--launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222 
-showsplash org.eclipse.platform 
--launcher.XXMaxPermSize 256m 
--launcher.defaultAction openFile 
-vm F:\Program Files\jdk1.6\bin\javaw.exe 
-vmargs 
-Xms512m 
-Xmx512m 
-XX:+UseParallelGC 
-XX:PermSize=256M 
-XX:MaxPermSize=512M
Brahma Reddy
la source
3

Solution rapide:

Changement -Xmx1024md' -Xmx512men eclipse.ini (fichier situé au même niveau où eclipse.exeest présent). Et cela fonctionnera comme un charme.

Sumoanand
la source
3

La manière simple de résoudre ce problème consiste simplement à supprimer ou renommer votre eclipse.ini fichier . Essayez-le d'abord. Si cette méthode ne résout pas votre problème, essayez les solutions décrites ci-dessous.

Autres moyens de le réparer:

Solution 1

Ajoutez une chaîne dans le fichier eclipse.ini qui modifie une destination du javaw.exefichier. L'essentiel est que cette chaîne soit placée au dessus de la chaîne "-vmargs"!

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

Solution 2

Supprimez la valeur de –launcher.XXMaxPermSize, comme 256m .

Solution 3

Supprimez ou diminuez les valeurs de Xms et Xmx:

-Xms384m 
-Xmx384m
Dimon
la source
3

Cela peut fonctionner:

Ouvrez le eclipse.inifichier et collez sous les lignes à la fin des lignes.

-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
UdayKiran Pulipati
la source
3

Après avoir ajouté -vm dans eclipse.ini comme indiqué ci-dessous, cela a fonctionné pour moi. Ajoutez-le avant de -vmargsne pas le supprimer

-vm
C:\apps\Java\jdk1.8.0_92\bin\javaw.exe
-vmargs

Une mise à jour jdk était à l'origine de ce problème.

Dinesh M
la source
2

Cela a fonctionné pour moi:

J'ai fermé toutes les autres applications gourmandes en mémoire sur ma machine Windows 7. Et j'ai essayé d'ouvrir Eclipse, et le tour est joué.

amalBit
la source
2

Parfois, ce n'est pas votre eclipse.ini ; c'est votre JDK qui est bloqué. Vous pouvez le vérifier en écrivant la commande suivante dans une invite de commande:

c:\> java -version

Si cette commande affiche l'erreur suivante:

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

Ensuite, désinstallez d'abord JDK et réinstallez-le.

Eclipse sera de nouveau en action;) Comme aujourd'hui, j'ai le même problème, et ce qui précède est suggéré par Itachi Uchiha .

TheLittleNaruto
la source
2

J'ai rencontré le problème lorsque mon proton Eclipse n'a pas pu démarrer. Erreur "Impossible de créer la machine virtuelle Java"

Ajouté ci-dessous au fichier eclipse.ini

-vm
C:\Program Files\Java\jdk-10.0.1\bin\javaw.exe
vkg
la source
1

L'ajout de cela a résolu le problème pour moi:

-vm

D:\Java\jdk1.6.0_29\bin\javaw.exe
ahmedmzl
la source
1

Réduisez la taille des paramètres jusqu'à -256

Voir mon fichier eclipse.ini

    -startup
   plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
   --launcher.library
  plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
  -product
   org.eclipse.epp.package.jee.product
   --launcher.defaultAction
   openFile
   --launcher.XXMaxPermSize
   256M
  -showsplash
   org.eclipse.platform
   --launcher.XXMaxPermSize
   256M
  --launcher.defaultAction
  openFile
  -vmargs
  -Dosgi.requiredJavaVersion=1.6
  -Xms40m
  -Xmx512m
Youdhveer
la source
1

La solution appropriée à votre problème consiste à ajouter la ligne -vm pointant vers le fichier jvm.dll de votre dossier Java dans ini fie.

-vm
C:\Program Files\Java\jre1.8.0_202\bin\server\jvm.dll
/*there is no dquote for path, and path points to right java version folder mentioned in ini file*/

Si la correction ci-dessus n'est pas fructueuse, n'essayez rien d'autre. La plupart des conseils contenus dans ce fil sont erronés. Certains de ces hacks peuvent fonctionner temporairement ou sur certaines configurations de machine, mais le contenu de eclipse.ini n'est ni trivial ni arbitraire. Pour la référence faisant autorité, voir cette [page wiki]: https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM qui explique le contenu du fichier. Notez également les liens Voir aussi au bas de cette page pour plus de détails sur des choses comme la taille du tas, etc. NE supprimez JAMAIS eclipse.ini. Il est également déconseillé de supprimer les options -vm ou Xmx. Si vous le faites, vous demandez des ennuis.

Voici les références de la page wiki relatives à votre problème:

Reference_1

Reference_2

Vishwesh Mangalore
la source
1
une pinte simple mais importante à mentionner: -vmdoit être placée avant l' -vmargs option dans eclipse.ini.
woodz
0

Pour moi, cela a été résolu en changeant le chemin du bac JDK dans la variable d'environnement Path. Mettez le chemin bin JDK qui a jre / bin / client / jvm.dll sous JDK home.

Srihari Karanth
la source
0

ÉTAPES POUR RÉSOUDRE LE PROBLÈME: -

  1. Ouvrez le fichier eclipse.ini à partir de votre dossier eclipse.

  2. Il a une configuration supplémentaire. Recherchez la ligne –launcher.XXMaxPermSize.Ce sera la dernière ligne de ce fichier. Maintenant, supprimez / supprimez la valeur par défaut 256m et enregistrez-la.

Nikhil Kumar
la source
0
-vm D:\Java\jdk1.6.0_29\bin\javaw.exe
Un homme
la source
0

J'étais confronté au même problème et j'ai trouvé la solution. Il y a des problèmes d'allocation de MaxPermSize. Si vous essayez d'allouer plus que l'espace libre de votre machine, cela donne cette erreur dans mon problème. Essayez donc de réduire MaxPermSize.

Je pense que cela vous aidera à régler votre problème.

Kanani Mohit
la source
0

Toutes ces solutions m'ont échoué. Cela m'est arrivé à l'improviste après avoir utilisé Eclipse pendant six mois. Il semble que mon JDK soit corrompu.

Ma solution éventuelle a été de télécharger un JDK plus récent et de mettre à jour mon JAVA_HOME en conséquence, de jdk1.6.0_37 à jdk1.6.0_43 dans mon cas.

Ryan Heitner
la source
0

@Maro Pour moi, cela a fonctionné très simplement!

Après avoir reçu l'alerte de message d'erreur, j'ai exécuté 'eclipse c .exe' à partir d'une invite de commande. Cela a ouvert Eclipse. Ensuite, j'ai essayé avec 'eclipse.exe' et maintenant ça marche bien.

Malheureusement, cela n'a donné aucune raison technique à cela.

Satyendra
la source