[mkgmap-dev] Memory limits for mkgmap and splitter
From Lambertus osm at na1400.info on Thu Aug 6 08:52:44 BST 2009
Oops, I just realize that I ran Splitter with --max-node=120k instead of 1.2 million. Dunno if this influences the test results... Lambertus wrote: > I've ran this splitter against my America extract on a centrino2 laptop > with 4gb ram, below are the results. > > Splitter was working on ~243 million nodes and Java had 3.9 GB heap > space (Xmx3900m). > > Memory usage before I went to bed: 4.3 GB virtual, 3.4 memory, Splitter > was calculating the areas then. > > Hundreds of messages like these followed: > Area (37.4853515625,-123.5302734375) to (38.4521484375,-122.255859375) > contains 439,211 nodes > split horizontally into: > (37.4853515625,-123.5302734375) to (38.4521484375,-122.51953125) > (159,737 nodes) > and (37.4853515625,-122.51953125) to (38.4521484375,-122.255859375) > (279,474 nodes) > > Then finally: > > Area (37.4853515625,-122.255859375) to (38.4521484375,-121.728515625) > contains 430,424 nodes > Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit > exceeded > at java.lang.Integer.valueOf(Integer.java:601) > at > uk.me.parabola.splitter.AreaSplitter.splitVert(AreaSplitter.java:162) > at uk.me.parabola.splitter.AreaSplitter.split(AreaSplitter.java:74) > at uk.me.parabola.splitter.Main.calculateAreas(Main.java:175) > at uk.me.parabola.splitter.Main.split(Main.java:96) > at uk.me.parabola.splitter.Main.main(Main.java:79) > > I think it was getting close, so a gig more memory would've been enough > perhaps... > > > Chris Miller wrote: >> I've now made some changes that remove the 4-area per relation limit and >> also the 255 tile limit. The 255 tile fix is just a workaround for now, it >> requires a full reprocess for each set of 255 tiles rather than tackling >> them all in a single pass. This will still be significantly better than only >> processing 4 areas at a time however. >> >> I've made some code changes to allow more than 4 areas per relation and more >> than 255 tiles per split. I won't have time to commit these changes until >> I get home later this evening. If you want to try it out in the meantime >> you can download a version from here (please treat this as a very unofficial >> and beta-quality release!): >> >> http://redyeti.net/splitter.jar >> >> Here's what's changed from the version that's currently in the codestore: >> >> - Replaced the SAX parser with XPP for modest performance and memory benefits >> - Improved program output to give more detail about what's going on (work >> in progress) >> - Removed limit of 4 areas per relation (no memory or performance penalty) >> - Removed limit of 255 areas per split. When there are more than 255 areas, >> multiple passes are made with up to 255 areas processed per pass >> >> Any feedback, questions or suggestions are welcome. I haven't tried this >> on anything as big as North/South America yet, would be very interested to >> hear how it goes. >> >> Chris >> >> >>> Great info, thanks! I'll try this solution, it sounds almost >>> perfect... >> >> >> _______________________________________________ >> mkgmap-dev mailing list >> mkgmap-dev at lists.mkgmap.org.uk >> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
- Previous message: [mkgmap-dev] Memory limits for mkgmap and splitter
- Next message: [mkgmap-dev] Memory limits for mkgmap and splitter
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list