web-dev-qa-db-fra.com

Taille de segment de mémoire initiale non valide. Impossible de créer la machine virtuelle Java

J'ai rencontré le problème suivant: j'essaie de démarrer Tomcat manuellement via startup.bat, mais il ne semble pas afficher de résultats, puis j'ai essayé d'exécuter shutdown.bat et la console affiche ensuite:

 D:\Apache-Tomcat-7.0.35\bin>startup.bat
Using CATALINA_BASE:   "D:\Apache-Tomcat-7.0.35"
Using CATALINA_HOME:   "D:\Apache-Tomcat-7.0.35"
Using CATALINA_TMPDIR: "D:\Apache-Tomcat-7.0.35\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.6.0_31"
Using CLASSPATH:       "D:\Apache-Tomcat-7.0.35\bin\bootstrap.jar;D:\Apache-Tomcat-7.0.35\bin\Tomcat-juli.jar"
D:\Apache-Tomcat-7.0.35\bin>shutdown.bat
Using CATALINA_BASE:   "D:\Apache-Tomcat-7.0.35"
Using CATALINA_HOME:   "D:\Apache-Tomcat-7.0.35"
Using CATALINA_TMPDIR: "D:\Apache-Tomcat-7.0.35\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.6.0_31"
Using CLASSPATH:       "D:\Apache-Tomcat-7.0.35\bin\bootstrap.jar;D:\Apache-Tomcat-7.0.35\bin\Tomcat-juli.jar"
Invalid initial heap size: -Xms256m -Xmx512m -XX:MaxPermSize=256m
Could not create the Java virtual machine.

catalina.bat est original, j'ai également vérifié tous les chemins et opts (c'est-à-dire Java_HOME, JRE_HOME, CATALINA_BASE, CATALINA_HOME, CATALINA_TMPDIR). La version de Tomcat est 7.0.35 Java v 1.6

11
John Smith

a obtenu les paramètres corrects (Java_OPTS) de ici . Je les ai définis dans setenv.bat.

1
John Smith

C'est votre problème Invalid initial heap size: -Xms256m -Xmx512m -XX:MaxPermSize=256m

Certains systèmes (peuvent être des fenêtres JRE) comprennent les valeurs Xms et Xmx données en petites lettres. ici 256 m et 512 m désignent respectivement 256 Mo et 512 Mo.

Une machine (JDK 1.7 sur Ubuntu) ne comprend pas small m for MB. Donc, quand j'ai changé Xms256m -Xmx512m, to => Xms256 [~ # ~] m [~ # ~] -Xmx512 [~ # ~] m [~ # ~] , il a commencé à fonctionner.

P.S -> J'ai eu cette erreur lors de l'installation d'IntelliJ sur Ubuntu 15 (JDK 1.7), j'ai édité /bin/idea.vmoptions fichier d'intelliJ et il a commencé à fonctionner.

Voici une liste d'erreur que vous pouvez obtenir pour un réglage incorrect Xmx et Xms valeurs -

Java -Xmx4056M -Xms4056M HelloWorld

Problème: une erreur s'est produite lors de l'initialisation de VM, la taille du tas d'objet + VM dépassent la taille maximale représentable)

Cause: la valeur de -Xms ou -Xmx est supérieure ou proche de la taille de la mémoire physique, car ma machine a 4 Go de mémoire.

Java -Xmx1056M -Xms2056M HelloWorld

Problème: une erreur s'est produite lors de l'initialisation de VM, tailles de segment minimale et maximale incompatibles spécifiées

Cause: la valeur de -Xms est supérieure à -Xmx

Java -Xms2056M HelloWorld

Problème: une erreur s'est produite lors de l'initialisation de VM, Impossible de réserver suffisamment d'espace pour le tas d'objets

Cause: Seul -Xms a été fourni et -Xmx n'a pas été fourni. vous obtiendrez également cette erreur si vous avez une faute de frappe et au lieu de -Xmx vous avez spécifié -Xms deux fois

Java -Xms1024 M -Xmx1024M HelloWorld

Problème: une erreur s'est produite lors de l'initialisation de VM, trop petit tas initial

Cause: si vous disposiez d'un espace compris entre 1024 et M, la JVM suppose que la taille de -Xms est de 1024 octets uniquement et affiche une erreur indiquant qu'elle est trop petite pour que la JVM démarre

10
sapy

Ce problème m'est arrivé en essayant d'exécuter Cassandra.

Désinstaller Java 32 bits et installer Java 64 bits) a résolu ce problème pour moi.

1

Et dans mon cas, la raison était d'avoir -Xms option avant -javaagent. L'exécuter dans le bon ordre Java -javaagent:xxx -Xms256m a fait l'affaire.

0
BartBiczBoży

J'ai eu la même erreur lors de l'initialisation de H2O pour l'apprentissage en profondeur dans R. Espace supprimé entre la taille de mémoire minimale définie:

h2o.init (min_mem_size = "10 G") J'ai eu une erreur:

Une erreur s'est produite lors de l'initialisation de VM Trop petit tas initial

Après avoir supprimé l'espace entre 10 et G, cela a fonctionné:

h2o.init (min_mem_size = "10G")

0
Job Kavoya