• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Eclipse: Startparameter für RAM der VM?

spunti

Hacker
Da hier wirklich so viele Eclipse-Freunde sind mal ne Frage:

Bei der Eclipse (und wahrscheinlich auch sonst) kann man doch irgendwie per Startparameter angeben, wieviel RAM die VM benutzen darf oder soll.
Nutzt das einer von euch?
Was sind gute Werte bei 512 MB RAM. Ich würde meine Eclipse gern etwas schneller bekommen.

danke
spunti
 

timomeinen

Member
Hallo Spunti,

den Pfad zur VM, den Eclipse verwenden soll kannst du mit dem Parameter

Code:
-vm <Pfad zur Java-Bin>

setzen. Ich verwende es z.B. da ich auch mit WebObjects arbeite und dies eine JDK<1.5 erfordert, allerdings im Pfad. Wir verwenden 1.3 und von daher lässt sich dann Eclipse nicth mehr starten. ;-)

Den Speicherbedarf kannst du bei allen JAVA Programmen einstellen. Ein

Code:
java -X

listet dir alle Optionen auf.

Besonders häufig kommt ein -Xms<size> und -Xmx<size> vor. -Xms setzt den initialen Speicher des Java-Heaps und -Xmx den maximalen Wert.

Der Heap ist deshalb besonders wichitg, da hier alle instanziierten Objekte zunächst gespeichert werden. Falls ein Objekt längere Zeit im Speicher bleibt, wird dieses Objekt in einen anderen Speicherbereich ausgelagert.

Falls der Heap zu klein ist für speicherintensive Programme stürzt die JAVA-Anwendung ab, da der Heap voll läuft und kein Platz mehr für neue Instanzen ist. Der Heap ist nochmals aufgeteilt, wobei der EDEN-Space der Bereich ist, in dem die ganz kurzfristigen Objekte landen. Dieser läuft manchmal voll. Dann kommt eine Fehlermeldung auf der Konsole, in der der EDEN-Space zu 99% gefüllt ist. Dies ist ein klarer Indiz dafür, dass der Heap zu klein ist. Dann sollte man es mit der Option -Xms64 oder -Xms128 versuchen.

In Eclipse tritt dies häufig in Verbindung mit dem Visual Editor (VEP) auf, der extrem grossen Speicherhunger hat. Bei mir hat er sich schon mal über 300MB reserviert.

Glück Auf
Timo
 
OP
S

spunti

Hacker
Hm, solche Fehlermeldungen hab ich bei mir noch nicht beobachtet - starte Eclipse allerdings auch nicht von der Konsole aus.

So richtig weiß ich nun aber immer noch nicht, ob ich damit nun meine Eclipse schneller bekomme.
Den Max-Wert vom Heap begrenzen ist ja quatsch, weil ich will ja, daß er ruhig den gesamten RAM benutzt.
Aber den Initialwert könnte ich höher setzten. Da das aber "nur" der Initialwert ist, heißt das ja nicht, daß der nicht mehr reservieren kann. Oder hat der immer eine feste Heap-Größe, wenn ich die Parameter gar nicht angebe?

(Den VEP hab ich zum Probieren auch installiert, nutz den aber eher selten, weil er nicht macht, was ich will - z.B. komplizierte Tabellen anzeigen, wo ich jede Zelle wie in Excel per Mausklick bearbeiten kann.)

spunti
 

timomeinen

Member
Ach so: Fazit habe ich ja ganz vergessen:

Wie du richtig festgestellt hast, setzt du mit diesen Parametern die Initalgrösse des Speichers.

Eine Beschleunigung wirst du nur feststellen können, wenn dein Standardheap so klein ist, dass der GarbageCollector häufig Platz machen muss. Bei 512Mb sollte jedoch die Grösse ausreichend sein, so dass du wohl keinen GEschwindigkeitsvorteil haben wirst.

Du kannst es ja mal mit -Xms 32 64 und 128 ausprobieren. Dazu empfiehl sich dann auch die JVM im verbose Modus auszuführen, dann bekommst du genauere Informationen über den Speicher.
 
OP
S

spunti

Hacker
Ich hab eben mal alle möglichen Kombinationen druchprobier. Aber an Geschwindigkeitszuwachs kann ich nichts erkennen. Wahrscheinlich ist das schon gut gelöst unter Linux.

Ein Beispielaufruf sieht übrigens so aus:
./eclipse -vmargs -Xms256m -Xmx256m

Na ja, es gibt ein Plugin, das den Heapverbrauch anzeigt. Vielleicht probier ich das einen Tag mal noch aus...

spunti
 
Oben