Java Heap space trotz -Xmx1024

S

schnatter08

Gast
Hallo,

mein Programm braucht sehr viel Speicher. Wenn ich in Eclipse -Xmx1024 angebe läuft es auch problemlos. Nun habe ich eine jar erstellt und starte diese per batch wie folgt:

java -Xmx1024m -jar MyApp.jar

Jetzt kommt aber die Fehlermeldung:

Exception in thread "Thread-7" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)

Trotz des zugesicherten Platzes...
 

Ark

Top Contributor
Tja, dann musst du wohl überlegen, wie du den Speicherplatzbedarf verringern kannst., oder du schiebst Java noch mehr Speicher zu.

Wenn du willst, dass wir dir bei Ersterem helfen, musst du uns schon den problematischen Code zeigen. Ansonsten: Benutze einen Profiler, um herauszubekommen, wie/wo/wann extrem viel Speicher benötigt wird. Aber auch ohne Profiler gibt der Stacktrace der Error-Meldung schon einen Hinweis darauf, wo das Problem liegen könnte.

Ark
 

Asgar13

Bekanntes Mitglied
Hallo,

mein Programm braucht sehr viel Speicher. Wenn ich in Eclipse -Xmx1024 angebe läuft es auch problemlos. Nun habe ich eine jar erstellt und starte diese per batch wie folgt:

java -Xmx1024m -jar MyApp.jar

Jetzt kommt aber die Fehlermeldung:

Exception in thread "Thread-7" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)

Trotz des zugesicherten Platzes...

Wann ist dieses "jetzt"?
Nach einigen Sekunden, Minuten oder Stunden?
Wenn es nach einigen Sekunden ist, dann braucht dein Programm "erst" einmal mehr Speicherplatz.
Wenn es nach einigen Minuten oder Stunden ist, dann hast du einen ständig anwachsenden Speicherbedarf, wobei dir ein erhöhen des Speicherplatzes (auf längere Sicht) nicht sehr viel hilft.
Dann nimm Ark's Vorschlag.
 
S

schnatter08

Gast
Hallo,

ich lade eine große Datei. Wenn ich die Anwendung über Eclipse mit den angesprochenen Parameter -Xmx1024m starte klappt das laden der großen Datei Problemlos. Wenn ich die Anwendung bzw. jedoch über die Kommandozeile starte, führt eben jenes laden der großen Datei zu dem genannten Fehler. Fast so als ob das -Xmx1024m ignoriert wurde.

Kann das sein das das -jar in der Zeile java -jar -Xmx1024 MyApp.jar damit was zu tun hat oder sollte der Aufruf den gleichen Effekt haben wie wenn ich die App über Eclipse starte?
 

Michael...

Top Contributor
Kann das sein das das -jar in der Zeile java -jar -Xmx1024 MyApp.jar damit was zu tun hat oder sollte der Aufruf den gleichen Effekt haben wie wenn ich die App über Eclipse starte?
Kannst ja mal in Deinem Programm den maximalen Speicher ausgeben lassen, um zu testen ob der Parameter überhaupt ankommt:
Java:
Runtime.getRuntime().maxMemory();
 
S

SlaterB

Gast
bzw. mit verschieden großen Dateien
20 MB, 50 MB, 100, 200, 400, 600, 800, 1000, 1200, 1400, 1600, 2000, 3000, 5000
testen, wie weit das Jar kommt und wie weit Eclipse
 
S

schnatter08

Gast
Hallo,

ich lade ein CAD-Modell und überführe dies in eine interne Java-Repräsentation. Dafür parse ich, mit einem existierenden Parser, die Datei vollständig. Wie könnte ich denn die Datei schrittweise parsen? Das Parsen ist das Problem bei dem der HeapSpace error auftritt (da rekursiv). Kleine Modelle kein Problem. Aber ein nicht permantes halten im Speicher wäre schon ne tolle Sache. Gibts da irgendwelche Ideen?
 

Michael...

Top Contributor
Grundsätzlich ist 1GB für eine Applikation, die CAD Modelle anzeigen muss nicht viel.
Aber wie schaut es den aus mit der Speicherverfügbarkeit bzw. Belegung beim Ausführen unter Eclipse und per jar?
Schon mal in der Java Visual VM (jvisualvm.exe im bin Verzeichnis des JDK) geschaut, ob das Unterschiede bei der Ausführung zu erkennen sind?
 

Ark

Top Contributor
Ergänzend dazu noch:
Dafür parse ich, mit einem existierenden Parser, die Datei vollständig. Wie könnte ich denn die Datei schrittweise parsen?
Da mich das gerade etwas verwirrt: Wird denn die Datei wirklich erst vollständig in den Arbeitsspeicher geladen und dann geparst? Oder passiert das Parsen "on the fly"?

Das Parsen ist das Problem bei dem der HeapSpace error auftritt (da rekursiv).
Diesen Zusammenhang verstehe ich gerade nicht so ganz. Der Hinweis auf "rekursiv" ergibt m.E. eher Sinn, wenn dem Stack die Puste ausgeht. Den Heap sollte "rekursiv" eigentlich gar nicht beeindrucken.

Kleine Modelle kein Problem. Aber ein nicht permantes halten im Speicher wäre schon ne tolle Sache. Gibts da irgendwelche Ideen?
Da müsste man sich die aktuelle Implementierung genauer ansehen. Generell sind aber z.B. fast leere HashSets/HashMaps/ArrayLists etc. schöne Speicherfresser.

Ark
 
S

Spacerat

Gast
Diesen Zusammenhang verstehe ich gerade nicht so ganz. Der Hinweis auf "rekursiv" ergibt m.E. eher Sinn, wenn dem Stack die Puste ausgeht. Den Heap sollte "rekursiv" eigentlich gar nicht beeindrucken.
Ich glaube diesen Zusammenhang verstehen wahrscheinlich eh' nur wenige - Ich selbst gehöre auch nicht dazu. Zumal bei einfacher Rekursion wahrhaftig ein "StackOverflowError" geworfen wird, mir aber in dieser Richtung wahrscheinlich aus dem selben Grund statt dessen ebenfalls schon mal dieser "OutOfMemoryError" um die Ohren geflogen ist, obwohl der Speicher längst nicht voll war. Das lag daran, dass innerhalb dieser Methode immer wieder einige Objekte erstellt wurden. Erst als ich, statt immer neue Objekte zu erstellen, nicht mehr verwendete änderte (Mutables->Object-Reuse), kam auch endlich dieser "StackOverflowError" ans Licht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Java heap space Fehlermeldung beheben Java Basics - Anfänger-Themen 3
M Java Arbeitsspeicherverbrauch, Heap Space error korrigieren? Java Basics - Anfänger-Themen 18
D Java Heap Space Probleme Java Basics - Anfänger-Themen 7
S Input/Output Java heap space Java Basics - Anfänger-Themen 8
A Java heap space Java Basics - Anfänger-Themen 11
T Out of Memory (Java Heap Space) Java Basics - Anfänger-Themen 9
D java heap space Java Basics - Anfänger-Themen 6
C 'OutOfMemoryError: Java heap space' Java Basics - Anfänger-Themen 5
D java.lang.outofmemoryerror java heap space bei Hashtable Java Basics - Anfänger-Themen 3
neurox java.lang.OutOfMemoryError: Java heap space Java Basics - Anfänger-Themen 18
B java.lang.OutOfMemoryError: Java heap space bei Musikplayer Java Basics - Anfänger-Themen 7
M Java Heap Space durch Übergang von einer Klasse in die ander Java Basics - Anfänger-Themen 3
M Beadarf ermitteln für Java heap space Java Basics - Anfänger-Themen 4
R Java heap space Java Basics - Anfänger-Themen 4
S OutOfMemoryError: Java heap space Java Basics - Anfänger-Themen 6
M Java Heap Space während der Laufzeit ändern Java Basics - Anfänger-Themen 2
E fehlermeldung "java heap space" Java Basics - Anfänger-Themen 21
S Java Client-je nach Heap Size Größe startet Applikation oder nicht Java Basics - Anfänger-Themen 4
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
J Morgen Java-Klausur. Stack, Heap, Method-Area Java Basics - Anfänger-Themen 2
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben