logo separator

[mkgmap-dev] splitter OutOfMemoryError

From Chris Miller chris_overseas at hotmail.com on Mon Mar 8 18:19:10 GMT 2010

> As I told before, using sun java I don't have memory problems, so I
> can
> leave it as is.
> The number of areas processed is around 50, so in case I need to
> reduce
> memory requirements I suppose I would have to set --max-areas<50.

50 areas is pretty low so even with --max-nodes=4500000 it should be OK to 
split in a single pass with a 32bit VM. Sounds like that is indeed the case 
with Sun's VM for you. I have an idea why you're running into problems on 
the other machine though. Something I didn't notice the first time I read 
your email was this log message that was written not long before the memory 
ran out:

Elapsed time: 10m 0s Memory: Current 2379MB (1539MB used, 840MB free) Max 
2379MB 

That indicates to me that even though you're trying to allocate a 3.5GB heap, 
OpenJDK isn't able to do so. This is most likely because you don't have 3.5GB 
of *contiguous* memory available. As far as I'm aware, most JVMs still require 
unfragmented memory for their heap. This means the maximum heap size you 
can allocate is not limited by the amount of free memory you have but rather 
by the biggest single chunk of continuous free memory.

> What about the use of --overlap for contour lines? Carlos

I'd recommend you still use some overlap. Even though you're not worried 
about routing issues, without any overlap you'll still end up with breaks 
in your contour lines near the edges of tiles which probably isn't what you 
want.






More information about the mkgmap-dev mailing list