简体   繁体   中英

Increase maximum memory limit in own install of OpenStreetMap's Overpass API

For my specific purpose, I need to alter Overpass API's definition of an area to include all buildings, whether or not they have names (so is_in() will return these buildings when requested).

To achieve this, I've installed a local copy of the API with 3 specific countries and have modified the os3m script that generates areas to suite my definition -- so far, so good.

Obviously this script will require more memory than the default one as it is handling a lot more ways . The machine I'm running on has 16GB of RAM . If I specify 2GB or less for the script (ie element-limit="2073741824" ) then it will run out of memory, but specifying any more (even by 100MB) will always result in the error:

Dispatcher_Client::request_read_and_idx::timeout

after just a few seconds.

The question is, how I can tell the Overpass API/dispatchers that using more than 2GB is perfectly fine, and in fact, allow it to allocate up to ~15GB for this query?

You could try to increase both values for total_available_space in settings.cc (currently at 4GB) and recompile Overpass API from source.

AFAIK nobody has tried to process a huge number of buildings via areas before, so be prepared for further issues. The Overpass API developer list may be a good place to discuss this, also to get Roland's attention (Overpass API developer/maintainer), as he's not around on stackoverflow.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2025 STACKOOM.COM