OSRM 提取静默失败

OSRM Extract Silently Fails

我正在尝试使用 Docker 设置 OSRM 后端服务器。主机是 MacBook Pro,内存为 32GB 运行 OS 10.14 (Mojave)。

下载 england-latest.osm.pbf 文件后,我尝试使用以下命令启动该过程。

docker run -t -v $(pwd):/data osrm/osrm-backend osrm-extract -p /opt/car.lua /data/england-latest.osm.pbf

输出结果如下:

[info] Parsed 0 location-dependent features with 0 GeoJSON polygons
[info] Using script /opt/car.lua
[info] Input file: england-latest.osm.pbf
[info] Profile: car.lua
[info] Threads: 6
[info] Parsing in progress..
[info] input file generated by osmium/1.8.0
[info] timestamp: 2018-11-02T21:15:02Z
[info] Using profile api version 4
[info] Found 3 turn restriction tags:
[info]   motorcar
[info]   motor_vehicle
[info]   vehicle
[info] Parse relations ...
[info] Parse ways and nodes ...
[info] Using profile api version 4
[info] Using profile api version 4
[info] Using profile api version 4
[info] Using profile api version 4
[info] Using profile api version 4

此时,进程静静地失败了,并且没有写入您期望的任何文件。如果我使用 greater-london-latest.osm.pbf 文件,那么一切正常,所以我猜这是某种内存限制。我该如何确定问题并加以解决?

运行在我的 Mac 上遇到同样的问题后,我通过增加 Docker 的可用内存解决了这个问题。在菜单栏上寻找鲸鱼图标,然后单击 select 首选项 > 高级。将滑块更改为更高的数值,按“应用并重新启动”,然后再次尝试 运行ning。

https://docs.docker.com/docker-for-mac/#memory

我可以 运行 在 2GB 默认限制内使用 415MB 文件(加拿大 > 不列颠哥伦比亚省),但不能再大了。考虑到 England 文件是 422MB,您可以增加到 4GB 并让它工作。 (尝试 运行 整个加拿大,一个 2.4GB 的文件,需要 >8GB 的​​内存。)