# Speicher erhöhen



## Ragethunder (4. September 2008)

Hallo,
ich habe mit dem Programm JFlap etwas programmiert, jedoch bekam ich beim Ausführen der Datei eine Fehlermeldung. Mittlerweile bin ich so weit, dass ich weiß, dass der bereitgestellte Speicher anscheinend zu gering ist und dass ich diesen in der cmd-Konsole ändern kann. Jedoch weiß ich nicht genau, wie das geht. 
In einem anderen Forum habe ich gelesen, dass es mit dem Befehl
java -Xmx256m 
möglich ist. Kann mir bitte jemand erklären wie genau das funktioniert (habe nicht sehr viel Ahnung). Vielen Dank schonmal im Voraus!

Viele Grüße

Christian


----------



## MichaelW (4. September 2008)

Hi,

also am Beispiel von Eclipse gehst du im Menü auf "Run -> Run Configurations" und fügst bei deiner App. im Reiter Arguments bei "VM Arguments" *-Xmx1024M* ein.
Das sollte dann eig. reichen...

//Edit: 
Von der command line geht das glaube ich so:
"java -Xmx1024M deineApp"

Grüße
Micha


----------



## Ragethunder (4. September 2008)

Habs leider immernoch nicht hinbekommen. Kann mir bitte jemand mal ein Beispiel posten, wie genau die Eingabe lauten muss? Beispielsweise für die Datei beispiel.jff
Vielen Dank schonmal.

Viele Grüße

Christian


----------



## zeja (5. September 2008)

Wie lautet denn deine Fehlermeldung eigentlich? Normalerweise muss man den Speicher nicht erhöhen, oft ist es dann ein Programmierfehler.


----------



## Andibert (9. September 2008)

Ganz meine Meinung.
Für uns auf jeden fall von Bedeutung was du machst, um zu beurteilen ob eine Speichererweiterung überhaupt nötig ist (ich hab das erst einmal (mutwillig) mit nem 2gb großen Array geschafft). Wenn du einen Programmierfehler hast, hilft mehr Speicher eher selten.
Und die Fehlermeldung wär auch nicht schlecht.
Ich tippe einfach mal auf nen Stack Overflow. Dann wäre der Übeltäter meist eine nicht abbrechende Rekursion.


```
int foo(int fumorffu){
    return foo(fumorffu);
}
```


----------



## Anime-Otaku (10. September 2008)

Prinzipiell stimmt es schon, dass man lieber schauen sollte, ob es nötig ist den Heap Speicher zu erhöhen.

Ansonsten hast du schon die Lösung gefunden. Du musst dem Programm was eine Heap Out of Memory wirft mehr Speicher geben, durch hinzufügen von -Xmx200M. Je nach Programm wird das an unterschiedlichen Stellen angegeben. Bei manchen in einer batch Datei die die eigentliche Java Anwendung startet.

Wichtig ist aber den Heap nicht zu groß zu wählen, da hier die Performance dann stark drunter leidet.

Den Verlauf des Speichers kannst du z.B. mit der JConsole verfolgen.


----------

