Ich verwende Eclipse 4.2, um einen Junit-Test auszuführen. Der Test verwendet viel Speicher, also möchte ich den Speicher vergrößern, der dem jvm zugewiesen ist. Ich wollte wissen, ob es Unterschiede zwischen dem Festlegen der Heap-Speicherparameter in der Eclipse-Ini-Datei und der Laufkonfiguration gibt?Was ist der richtige Weg, JVM-Parameter in Eclipse zu setzen
Antwort
Beachten Sie die Speichereinstellungen für Java gestarteten Prozesse von Eclipse unterscheiden sich von der maximal zulässige Speichergröße für Eclipse selbst.
Die Zulage für Eclipse damit er beim Start festgelegt wird durch
-vmargs -Xmx1024M -Xms1024M -XX:PermSize=2048m -XX:MaxPermSize=2048m
Beachten Sie, dass der m in "mx" Groß- und Kleinschreibung ist, während der m in "1024M" Groß- und Kleinschreibung ist; und die einzelnen X-Optionen werden ohne "=" geschrieben, aber die Double-X-Optionen werden mit "=" geschrieben.
Die Speichergröße für JVMs begann von Eclipse, das ist, was Sie Unit-Tests beeinflussen wollen, gesetzt innerhalb Eclipse:
Window::Preferences::Java::Installed JREs::Edit::Default Vm Arguments: -Xms128M -Xmx2048M
(Exact Titel der Menüeinträge können variieren von Eclipse-Version.)
Sie können die Größe des Heapspeichers in eclipse.ini
Datei wie unten erhöhen.
-Xms1024m
-Xmx1024m
-XX:MaxPermSize=256m
Wenn Sie es in eclipse.ini
festlegen, gilt es für den Eclipse-Prozess selbst - nicht für neue Java-Prozesse, die Sie aus Eclipse starten.
Wenn Sie es in der Ausführungskonfiguration festlegen, gilt es nur für diese Konfiguration ausführen, aber nicht auf Eclipse selbst.
Da Ihr Komponententest viel Speicher verwendet, spielt es keine Rolle, wie viel Speicher Eclipse zur Verfügung hat. Der Komponententest wird in einem neuen Java-Prozess mit Standardspeicherzuweisung ausgeführt.