Menu

#164 Out of Memory

open
r_x
5
2012-09-18
2011-04-14
No

On Ubuntu 10.10 with Open JDK 6 for Mobile_Atlas_Creator 1.8, I tried to make a map of France for AlpineQuest (AQM) from Mapnik map source.

I used a several steps process :
1) I modifiy the settings of Mobile_Atlas_Creator in order not to download map tiles newer than three months ; adjust map tiles ; use of 15 threads ; no automatically continue after download errors.
2) I also use sqlitejdbc-v056.jar.
2) For each layer, I wrote an Xml file and I run Mobile_Atlas_Creator with success.
It took many days.
3) Then I merge all Xml files into a unique one in order to have a unique map with different layers and specific ones on some areas. See the profile in attachment.
4) I ran the following command with the all xml profile :

java -Xms64m -Xmx512M -jar Mobile_Atlas_Creator.jar &

The process aborted after hours at around 40 % due to an out of memory error. See the log below. It is the same if I increase the memory maximum:

java -Xms64m -Xmx1024M -jar Mobile_Atlas_Creator.jar &

ERROR - Error in createMap: Java heap space
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2894)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:407)
at java.lang.StringBuffer.append(StringBuffer.java:241)
at mobac.program.atlascreators.impl.aqm.FlatPackCreator.add(FlatPackCreator.java:94)
at mobac.program.atlascreators.AlpineQuestMap.addLevelTiles(AlpineQuestMap.java:382)
at mobac.program.atlascreators.AlpineQuestMap.createMap(AlpineQuestMap.java:313)
at mobac.program.AtlasThread.createMap(AtlasThread.java:312)
at mobac.program.AtlasThread.createAtlas(AtlasThread.java:169)
at mobac.program.AtlasThread.run(AtlasThread.java:106)
ERROR - Out of memory:
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Arrays.java:3221)
at java.lang.String.<init>(String.java:233)
at java.lang.StringBuffer.toString(StringBuffer.java:602)
at mobac.program.atlascreators.impl.aqm.FlatPackCreator.close(FlatPackCreator.java:129)
at mobac.program.atlascreators.AlpineQuestMap.abortAtlasCreation(AlpineQuestMap.java:152)
at mobac.program.AtlasThread.createAtlas(AtlasThread.java:195)
at mobac.program.AtlasThread.run(AtlasThread.java:106)</init>

Discussion

  • Jean-Pierre DUVAL

    mobac-profile-all.xml

     
  • r_x

    r_x - 2011-04-14

    I am sorry but I can not help you. The implementation of AlpineQuest (AQM) requires to keep a lot in memory - this is why you get the error.

    Additionally there is the problem that I did not wrote the AQM atlas creator implementation - I got it from an external developer and only integrated it into MOBAC.

    Therefore just use smaller atlases or increase the memory for MOBAC. I don't see an alternative.

    BTW: The atlas you posted is very large and will not be usable in the current version of MOBAC. The limit has been reduced to 500000 tiles per atlas.

     

Log in to post a comment.

MongoDB Logo MongoDB