Anmelden AnmeldenSchließen
| Passwort vergessen?
Reit- und Wanderkarte
Forum | Registrieren | Suche      Anmelden     1 Benutzer online
java.lang.OutOfMemoryError
 1
16.05.14 14:16
cheese-2402 
java.lang.OutOfMemoryError

Hallo,

ich bin gerade dabei, mir meine eigene Karte zu bauen und habe damit Probleme.

Folgendes System:
Intel Core i7
16GB Ram
250GB SSD
Windows 8.1 Pro x64

Da ich Probleme mit Downloadabbrüchen mit MapComposer habe, habe ich mir die europe-latest.osm.pbf heruntergeladen und in ein Verzeichnis gelegt.

Als Region verwende ich Länge 5.8 - 15.1 und Breite 47.2 - 55.0, Datenquelle ist Lokale OSM-Datei und die Lokale Datei ist meine downgeloadetes File.

Aufruf ist -Xmx 14000.

Beim Generieren passiert dann Folgendes:
In der Statusleiste steht "Analysiere Daten für Deutschland" (Deutschland ist der Name meiner Region), der Ram läuft hoch bis 14.142 MB, Prozessorlast bei ca 77% und nach ca 10 Minuten erscheint in der CommandLine folgende Meldung, danach geht die Rechenlast auf 0% und es tut sich nix mehr. Lösung?

Exception in thread "AWT-EventQueue-0" Exception in thread "pool-1-thread-2" jav
a.lang.OutOfMemoryError: Java heap space
at nop.osm.pbf.PbfBlobDecoder.processNodes(PbfBlobDecoder.java:289)
at nop.osm.pbf.PbfBlobDecoder.processOsmPrimitives(PbfBlobDecoder.java:3
95)
at nop.osm.pbf.PbfBlobDecoder.runAndTrapExceptions(PbfBlobDecoder.java:4
15)
at nop.osm.pbf.PbfBlobDecoder.run(PbfBlobDecoder.java:438)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.OutOfMemoryError: Java heap space
at sun.java2d.SunGraphicsEnvironment.createGraphics(Unknown Source)
at java.awt.image.BufferedImage.createGraphics(Unknown Source)
at java.awt.image.BufferedImage.getGraphics(Unknown Source)
at sun.swing.CachedPainter.paint0(Unknown Source)
at sun.swing.CachedPainter.paint(Unknown Source)
at com.sun.java.swing.plaf.windows.XPStyle$Skin.paintSkinRaw(Unknown Sou
rce)
at com.sun.java.swing.plaf.windows.XPStyle$Skin.paintSkin(Unknown Source
)
at com.sun.java.swing.plaf.windows.XPStyle$Skin.paintSkin(Unknown Source
)
at com.sun.java.swing.plaf.windows.WindowsIconFactory$CheckBoxIcon.paint
Icon(Unknown Source)
at javax.swing.plaf.basic.BasicRadioButtonUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.CellRendererPane.paintComponent(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JViewport.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)

16.05.14 21:58
Nop 

Administrator

Re: java.lang.OutOfMemoryError

Was steht beim Job, zweiter Reiter Parameter, unter "Nodecache"?

Ein Europafile ist schon ziemlich groß für den Anfang, vielleicht solltest Du es erst mal nur mit Deutschland probieren.

bye, Nop

16.05.14 22:16
cheese-2402 
Re: java.lang.OutOfMemoryError

Beim Nodecache habe ich mich am Standard gehalten und nix verändert, es steht auf 1000.

Ich versuche mit gerade an Deutschland, ich würde mir aber gerne eine passende Karte konfigurieren und mir dann auf mein Oregon aufspielen, je nachdem wo ich die nächste Tour plane. Deshalb würde ich gerne die Europa.pfb hernehmen, die Längen/Breitenangabe ist aber von Deutschland. Aber anscheinend zerpflückt er hier zuerst mal die ganze Datei bzw bleibt daran hängen. Deutschland.osm schlägt er mir bei den Koordinaten gar nicht mehr vor...

Ich habe jetzt mal die Xmx auf 32000M hochgeschraubt, also das Doppelte vom Ram, jetzt ist er zumindest schon mal 4 Stunden ohne Probleme gelaufen, ob er noch was macht weiß ich aber nicht.

Was würde passieren, wenn ich die Deutschland.osm nehme und mit den Koorinaten laufen lasse? Wäre für mich ne alternative, wenn ich dann auch für Österreich, Schweiz, Tschechei und Italien auch die entsprechenden Karten bauen könnte...

18.05.14 10:50
Nop 

Administrator

Re: java.lang.OutOfMemoryError

Theoretisch sollte er mit der Nodecacheeinstellung durchlaufen - ich hab es aber nie mit so einer Riesendatei versucht.

Wenn Du sagst "Lokale OSM Datei" dann nimmt er genau diese Datei, alslo ganz Europa, sie wird nicht mehr geschnitten.

Du solltest "Planetfile" wählen, dann werden nur Deine Koordinaten ausgeschnitten und Du hast viel weniger Holz zu verarbeiten. Wenn Du sie nicht nochmal downloaden willst, kopiere Deine Datei einfach in das Verzeichnis das unter "Einstellungen/Allgemein/Eingangsverzeichnis" eingestellt ist und setzte die Toleranz "Update alle X Tage" entsprechend hoch.

Den Java Heap größer einzustellen als der tatsächliche Speicher sollte Deine Kiste nur unsäglich langsam machen oder gar nicht durchlaufen.

bye, Nop

18.05.14 13:23
cheese-2402 
Re: java.lang.OutOfMemoryError

Hallo Nop,

ganz verstehe ich es aber dann nicht...

Wenn ich mit meinen Koordinaten auf Planetfile gehe, dann empfielt er mir Europa. Diese gibt er mit 9GB im Download an, wenn ich mir aber dann die gedownloadete Datei im Input-Verzeichnis anschaue, hat die 770MB. Ich bin immer davon ausgegangen, dass die komplette Datei heruntergeladen wird und dann erst geschnitten. Liege ich da falsch?

Ich habe die Java-Einstellungen wieder auf 14000M wieder zurückgesetzt, damit er schneller wird.

Ich werde es mal mit deinen Einstellungen versuchen und wieder schauen was passiert.

Vielen Dank!

18.05.14 13:37
cheese-2402 
Re: java.lang.OutOfMemoryError

Hallo Nop,

wenn ich es mit dem Planetfile so mache, dann sieht es so aus wie im Anhang...

Wo liegt das Problem?

Datei-Anhänge
Kartenausschnitt.JPG Kartenausschnitt.JPG (9x)

Mime-Type: image/jpeg, 164 kB

19.05.14 09:37
Nop 

Administrator

Re: java.lang.OutOfMemoryError

Hallo!

Da sind nur ein paar (willkürliche) Punkte in den Daten. Das kriegt man eigentlich nur hin, wenn von den fehlgeschlagenen Durchgängen noch alte, unvollständige Dateien rumliegen.

Stell' mal "Daten schneiden" auf "immer". Dann sollte er die Daten auf jeden Fall neu erzeugen. Wenn's geklappt hat kannst Du's auf "bei Bedarf" zurückstellen.

bye, Nop

20.05.14 21:21
cheese-2402 
Re: java.lang.OutOfMemoryError

So, jetzt gehts.

Ursache waren wohl fehlgeschlagene Downloads und dadurch fehlerhafte Input-Osm-Daten. Ich habe mir jetzt die Daten heruntergeladen, unter richtigem Namen ins input-VZ gelegt und lasse von Europa jetzt schneiden. Klappt ohne Probleme, vielen Dank!

 1
Forum | Registrieren | Suche
Powered by: phpFK - PHP-Forum ohne MySQL 8.0 | Download | Alternativ: phpFK