2012-04-18 15 views
5

Ich habe ein folgendes Problem. Wenn ich versuche, Speicher für JVM in eclipse.ini Datei zu erhöhen, erhalte ich immer Could not create Java Virtual Machine Ausnahme.Ändern der Speichereinstellungen in Eclipse.ini Ursachen Konnte keine JVM erstellen

Meine aktuellen Speichereinstellungen sind

-Xms1024m 
-Xmx1024m 
-Xmn256m 
-Xss2m 

Und ich mag sie erhöhen

-Xms2048m 
-Xmx2048m 
-Xmn512m 
-Xss2m 

Ich laufe auf 32-Bit-Java, JDK 1.6. Ich habe eine 64-Bit-Maschine mit 12 GB Speicher. Der Grund, warum ich kein 64-Bit-Java verwende, ist, dass wir einige Probleme bei der Entwicklung unserer Apps hatten, also sind wir wieder auf 32-Bit-Version zurückgegangen.

Vielen Dank für Ratschläge.

EDIT

Ok, also hier ist mein Stack-Trace, es tritt auf, wenn ich versuche, Eclipse zu laufen. Beachten Sie auch, dass ich Xms Parameter nur auf 512M eingestellt habe, aber es funktioniert, wenn es auf 1024M eingestellt ist, aber es scheint zu viel für eine (auch große) Web-App.

enter image description here

+0

Wie ich schrieb, 12GB. –

+1

Ich glaube, dass die 32-Bit-Version kann nur bis zu 1,5 G Speicher gehen –

+2

Siehe http://StackOverflow.com/Q/171205/651140 –

Antwort

8

Für eine Sache, sollten Sie setzen nie Ihre Xms auf den gleichen Betrag wie Xmx weil dies effektiv die Garbage Collector nie laufen, bis die Java-VM-Speicher vollständig verbraucht verursacht wird. Setzen Sie Xmx auf den maximalen Speicher, den Sie den Java-Anwendungen und der VM zuweisen möchten, und Xms auf die maximale Speichermenge, die die VM verwenden soll, ohne sich zu sehr um die Garbage Collection zu kümmern. Sie können feststellen, dass dies Ihr Problem lösen wird.

+0

* "Sie können feststellen, dass dies Ihr Problem lösen wird." * Ich bezweifle das, aber +1 für alles davor. –

+0

Danke für den Rat, klingt vernünftig :-) –

+0

Das Problem kann tatsächlich sein, dass die 32-Bit-VM nicht mehr als 2GB zuweisen kann. Ich hatte vorher ein ähnliches Problem, aber das Problem tauchte nur während der Laufzeit auf ..... nicht genau, warum es beim Start passieren würde .... – Renato

Verwandte Themen