Laden von .shp-File bricht mit Fehlermeldung ab!

Hallo,

ich möchte die Datei “Gebaeude.shp” in JOSM laden. Größe ist ca. 65 MB.
Das Laden beginnt auch, “Lade Formdatei…377.878 Funktionalitäten…” und bricht dann ab. Einmal bei 70.000, dann bei 150.000, ist völlig unterschiedlich.

Die Fehlermeldung lautet:

Die Datei 'Gebaeude.shp' konnte nicht gelesen werden. Fehlermeldung: java.io.IOException: java.lang.OutOfMemoryError: Java heap space

Was ist der Grund für den Abbruch? Gibt es einen timeout für das Laden dieser Daten? Arbeitsspeicher wäre noch genügend vorhanden.

Vielleicht wisst Ihr ja guten Rat :wink:

Könntest du uns mal aus JOSM > Hilfe > Statusübersicht anzeigen den Anfang des zweiten Bereich zukommen lassen?
Bei mir z.B.


Identification: JOSM/1.5 (7480 de) Windows 7 64-Bit
Memory Usage: 174 MB / 880 MB (77 MB allocated, but free)
Java version: 1.7.0_40, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM

Wie startest du JOSM? Per Webstart oder per Kommandozeile? Siehe hier und vielleicht auch hier

Laut Fehlermeldung: Speichermangel. Eventuell mit -mx erhöhen.

Hallo,

starten durch Doppelklick auf die Verknüpfung am Desktop.

Hier die Statusübersicht:

Identification: JOSM/1.5 (6383 de) Windows XP 32-Bit
Memory Usage: 467 MB / 494 MB (388 MB allocated, but free)
Java version: 1.6.0_35, Sun Microsystems Inc., Java HotSpot(TM) Client VM

@chris66
Also der Taskmanager sagt, es wäre noch viel Speicher frei.
Wenn es der Speicher wäre, warum bricht er dann bei unterschiedlichen Ziffern ab, einmal bei 50.000 mal 75.000, top war über 160.000?

Edit:
Was ich auch schon versucht habe, per Verknüpfung mit

C:\Programme\Java\jre1.6.0_35\bin\java.exe -jar -Xmx1024M "D:\josm\josm-tested.jar"

zu starten, läuft auch einwandfrei. Würde das helfen?
Grüße

Start des josm.jar über das Icon teilt JOSM nur den Standardspeicher von 32 MB zu.

Hier mal das was in meiner Desktopverknüpfung steht:

“C:\Program Files\Java\jdk1.7.0\jre\bin\java.exe” -Xmx2g -jar c:\apps\josm\josm-latest.jar

hiermit teile ich Java max. 2 GB zu.

Was chris66 sagt. Die Java-VM hat einen maximalen Speicher, den sie nur benutzen darf. Das ist absicht, damit dein amoklaufendes Java-Programm nicht deinen ganzen Rechner lahmlegt. Du musst manuell per -Xmx sagen, wieviel Arbeitsspeicher die VM benutzen darf.

Dazu kannst du entweder das gleich in die Verknüpfung schreiben (wichtig: die Verknüpfung geht auf die java.exe, siehe bei chris) oder dir eine .bat-Datei schreiben, die den java-Aufruf für dich macht.

Morgen,

und Danke!

Über die eigene Verknüpfung mit der Befehlszeile funktioniert es nun doch :smiley:

Allerdings geht es nur bei -Xmx1024m, alles was drüber ist, so wie bei chris mit -Xmx2g, wird nur durch ein kurzfristiges erscheinen des Fensters angezeigt, welches sofort wieder geschlossen wird!
Aber egal, hauptsache ich kann die Files nun öffnen.

Danke nochmals für Eure Hilfe

Hab nochmal gesucht.

Im Groben ist die Erklärung wieso die 2GB auf 32-bit Windows nicht funktionieren folgende: Java braucht für den Heap (den dynamischen Speicherbereich, dessen Größe man per -Xmx angibt) einen zusammenhängenden, freien Speicherbereich. Je nachdem wieviele Programme laufen, wie Windows seinen Speicher fragmentiert (und scheinbar alloziiert Windows einen Block Speicher “in der Mitte” des Speicheradressbereiches…) gibt es jetzt unterschiedlich große dieser zusammenhängenden freien Speicherbereiche. 1024M kriegt man meist darin unter, aber viel mehr wohl nicht oft.

Siehe auch http://stackoverflow.com/a/2457542/2168905

Jepp, hätte vielleicht dazuschreiben sollen, dass ich Java 64 bit auf meiner 16GB Maschine nutze. :sunglasses:

@gormo,chriss66

Was ihr alles wisst, ich bin begeistert :wink:

Danke für die Infos, werde ich an meinem neuen LapTop dann gleich mal überprüfen und testen.

Schönes Wochenende

Neuer Laptop? Das ist doch mit Sicherheit eine 64-Bit-Maschine, oder?

dann bitte auch ein 64-bittiges OS drauf.

Klaro: Ubuntu wäre mein Favorit aber Win7 ist auch net unflott. Denk doch mal über Ubuntu nach, gerade weil dein altes Gerät ja noch funktioniert. Kannst du auch spielend leicht “nebeneinander” legen. Tips dazu kannst du gerne bekommen.

Gruss
walter