# Heap Size zu klein



## MariusMeier (22. April 2008)

Hallo zusammen!

Ich habe ein Problem... und zwar habe ich für meine Java Applikation nicht genügend Heap Size... sprich nicht genügend freier Speicher der von der Java Virtual Machine alloziert werden kann.
Wenn man jetzt den Heap erhöht würde das ja denn funktionieren.... aber  was ist wenn ich das Programm als .jar jemand anderem gebe... dann hat der ja nicht meine Einstellungen meiner Java Virtual Machine damit das Programm dann auch genügend Speicher zur Verfügung hat. Wie löst man solch ein Problem? Muss man da eine zusätzliche .bat Datei mitliferen welche dies managed bzw. die Einstellungen für den Heap Size übernimmt?

MFG Marius Meier


----------



## Anime-Otaku (22. April 2008)

Ist am sinnvollsten momentan...wird bei eclipse z.B. auch so ähnlich gemacht

Und du hast den Vorteil, das keiner wissen muss, wie der java Befehl zum ausführen der jar lauten muss^^


----------



## MariusMeier (22. April 2008)

Wenn du gerade von Eclipse sprichst... wie macht man es dort  

MFG Marius Meier


----------



## Anime-Otaku (22. April 2008)

eclipse heap
2. Treffer:
http://wiki.eclipse.org/FAQ_How_do_I_increase_the_heap_size_available_to_Eclipse?

und ansonsten für das Ausführen von Programmen bei der Argumente zur "virtual maschine" hinzufügen


----------



## Oliver Gierke (22. April 2008)

hm... woher kommt denn der hohe speicherverbrauch? vielleicht schraubst du besser an der ecke?

Gruß
Ollie


----------



## zerix (22. April 2008)

Ich muss da Olli zustimmen. Ist es nicht oft, dass man den Heap erhöhen muss. In den meisten Fällen ist es einfach ein Speicherleck.

MFG

Sascha


----------



## fmacloud (7. Juli 2008)

Ja leider ist aber manchmal auch eine Heap Erhöhung nötig. Wenn es nicht möglich ist die maximale Heap Größe der VM dynamisch zu verändern, wie finde ich denn die maximale Heapgröße in Abhängigkeit vom Rechner heraus?


----------



## Anime-Otaku (7. Juli 2008)

Warum sollst du die Heapsize Größe nach dem Rechner auswählen?....du wählst soviel wie das Programm braucht und wenn der Rechner oder das Betriebssystem damit nicht klar kommt, das ändern^^

Oder braucht dein Programm auf einem "kleineren Rechner" oder auf einem Windows Rechner weniger Max heap als auf einem Linux Rechner?


----------



## fmacloud (7. Juli 2008)

Nein, es geht um die Implementierung einer theoretischen Arbeit und dabei können sehr komplexe Systeme entstehen, die eine Zustandsraumexplosion zur Folge haben. Nun ist es halt interessant wie weit die Implementierung das umsetzen kann und ab wann der Speicher nicht mehr ausreicht. D.h. solange der Speicher reicht sollte es auch arbeiten weshalb ich die Heap Größe gerne so groß wie möglich wählen würde.


----------



## Anime-Otaku (7. Juli 2008)

Nach kurzem google befragen:



> try using the
> -XX:+AggressiveHeap option (without specifying a Xmx or Xms value)
> 
> This option tells the VM to use as much memory as it can. Note that it only works if you have more then
> 256M of ram.


http://forum.java.sun.com/thread.jspa?forumID=4&threadID=475618
http://forum.java.sun.com/thread.jspa?threadID=201718&forumID=37
http://forum.java.sun.com/thread.jspa?threadID=202978&forumID=37


----------



## fmacloud (7. Juli 2008)

Ah wunderbar. War ich wohl irgendwie nicht geschickt genug beim googlen.

Vielen Dank!


----------

