web-dev-qa-db-fra.com

Java Impossible de réserver suffisamment d'espace pour une erreur de tas d'objet

J'ai Java7 sous Windows 32 bits et 4 Go de RAM, mais:

Java -Xmx4G -Xms4G -jar Minecraft.jar 
Java -Xmx3G -Xms3G -jar Minecraft.jar 
Java -Xmx2G -Xms2G -jar Minecraft.jar

... ne fonctionne toujours pas. Erreur:

Une erreur s'est produite lors de l'initialisation de la machine virtuelle
Impossible de réserver suffisamment d'espace pour le tas d'objets
Erreur: impossible de créer la machine virtuelle Java.
Erreur: Une exception fatale est survenue. Le programme va sortir.

Java -Xmx1G -Xms1G -jar Minecraft.jar travaille. Pourquoi?

20
Kemal Tunca

Allez à StartControl PanelSystemAdvanced system settingsadvanced(tab)Environment VariablesSystem VariablesNew:

Variable name: _Java_OPTIONS
Variable value: -Xmx512M
52
user3755563

Si vous passez par this IBM link sur Java, cela indique que, dans les fenêtres 32 bits, la taille de segment de mémoire recommandée est de 1,5 Go et que la taille de segment de mémoire maximale est de 1,8 Go. Ainsi, votre JVM ne sera pas initialisée pour -Xmx2G et ci-dessus.

Aussi, si vous allez à travers this SO répondez, clairement les liaisons DLL sont un problème pour la réservation de mémoire qui change, ce qui n'est pas une tâche triviale Par conséquent, ce qui peut être recommandé, c’est que vous optiez pour Windows 64 bits et une JVM 64 bits, bien qu’elle consomme davantage de RAM, mais que vous disposerez d’un espace d’adresse virtuelle beaucoup plus contigu.

10
rahulserver

Cela se produisait pour moi et c'est une solution si facile.

  1. vous devez vous assurer que vous avez le bon Java pour votre système tel que 32 bits ou 64 bits.
  2. si vous avez installé le bon logiciel et que cela arrive quand même

    control panelsystemadvanced system settings pour Windows 8 ou

    control panelsystem and securitysystemadvanced system settings pour Windows 10.

  3. vous devez accéder à {l'onglet avancé}, puis cliquer sur {Variables d'environnement}.
  4. vous cliquez sur {Nouveau} sous le <system variables>
  5. vous allez créer une nouvelle variable. Nom de variable: _Java_OPTIONS Valeur de la variable: -Xmx512M

Au moins c'est ce qui a fonctionné pour moi.

7
Sealteam241

J'ai eu ce problème. Je l'ai résolu en téléchargeant 64x de Java. Voici le lien: http://javadl.Sun.com/webapps/download/AutoDL?BundleId=8744

6
user3573306

pour vous assurer qu'il exécute la version 64 bits de Java l'a comme ceci:

"c:\Program Files\Java\jre7\bin\Java.exe" -Xmx1536M -Xms1536M -XX: MaxPermSize = 256M -jar forge-1.6.4-9.11.1.965-universal.jar

jetez un oeil à la version de jre que vous avez installée juste au cas où .. x64 devrait être dans les fichiers de programme alors que x32 réside dans Program Files (x86)

3
Jaxx0rr

4 Go RAM ne signifie pas que vous pouvez tout utiliser pour le processus Java. Beaucoup de RAM est nécessaire pour les processus système.) Ne pas aller au-dessus de 2 Go ou ce sera un problème pour certains.

Avant de commencer jvm, vérifiez simplement combien RAM est disponible, puis définissez la mémoire en conséquence.

2
Lokesh

Double-cliquez sur Liferay CE Server -> ajoutez -XX: MaxHeapSize = 512m dans les arguments de mémoire -> Démarrer le serveur! Prendre plaisir...

C'est un travail pour moi!

1
user2284700

c'est ce qui a fonctionné pour moi (oui j'avais le même problème) où il est dit quelque chose comme Java -Xmx3G -Xms3G mis Java -Xmx1024M donc le run.bat devrait ressembler à Java -Xmx1024M -jar craftbukkit.jar -o false PAUSE

1
caleb