Donnerstag, 17. Oktober 2013

Eclipse RCP - Heapspace vergrößern

Version: Eclipse 3.7 Helios

Problembeschreibung: Heapspace einer Eclipse RCP oder eine normalen Java Anwendung vergrößern. Es soll sowohl der minimale Speicherverbrauch als auch der Maximale geändert/vergößert werden.

Fallunterscheidung: Applikationsstart aus der Entwicklungsumgebung oder Applikationsstart durch Aufruf einer Executable ("appName.exe") oder von der Kommandozeile aus.

Entwicklungsumgebung

Diese Einstellung bewirkt, dass Java Projekte und im speziellen Eclipse RCP Projekte mit gewünschtem minimal und maximal Speicher aus der Entwiclungsumgebung gestartet werden.

Vorgehensweise

Schritt 1.

Erzeuge ein Eclipse RCP Projekt oder ein Java Projekt.

Schritt 2.

Rechtsklick auf das Projekt. Im Kontextmenü "Run As" und anschließend "Run Configurations..." auswählen. Siehe Bild 1.

Bild 1

Schritt 3.

Den Reiter "Arguments" wie in Bild 2 für die gewünschte Konfiguration öffenen. Punkt 1 im Bild muss ausgewählt werden für eine Eclipse RCP Applikation, Punkt 2 entsprechend für eine normales Java Projekt.

Bild 2

Die Textbox "VM arguments" sollte dan folgende zwei Argumente besitzen -Xms40m und -Xmx512m. Xms gibt dabei den minimalen Heapspeicher an und Xmx den maximalen. Hier im Beispiel erfolgen die Angaben in Megabyte, da jeweils immer ein 'm' angegeben ist. Es sind ebenfalls Angaben in Kilobyte mit 'k' und in Gigabyte mit 'g' möglich. Ob Gros- oder Kleinbuchstaben bei der Gößenangebe benutzt werden spielt keine Rolle. Es ist deshalb -Xmx512m gleichwertig mit -Xmx512M

Applikationssstart über die Kommandozeile (in Windows cmd.exe)

Beim Starten einer Applikation von der Kommandozeile werden die Argumente in den Java interpreter Aufruf übergeben. In Bild 3 sehen wir ein Beispielaufruf der test.jar.

Bild 3


Applikationssstart durch eine Executable

Wird eine Eclipse RCP exportiert und dadurch ohne die Entwicklungsumgebung lauffähig gemacht, dann müssen die beiden Paremeter -Xms und -Xmx in der Product Configuration im Reiter Launching eingetragen werden. Dies ist in Bild 4 zu sehen.


Bild 4
Quellen:
http://javarevisited.blogspot.de/2011/11/hotspot-jvm-options-java-examples.html