我正在尝试安装nominatim 使用本指南经过一天的处理,我终于收到了这条消息:
feature 895(k)
Killed
读完后dmesg
我得到:
[143978.925793] Out of memory: kill process 14456 (bash) score 204947 or a child
[143978.925796] Killed process 15081 (nominatim) vsz:4871228kB, anon-rss:2953272kB, file-rss:0kB
使用 osm2pgsl 您可以使用 -s(slim)选项,但我如何使用 NPI 进行处理?
如何在不重新启动整个过程的情况下进行升级?
答案1
我怀疑您使用的是旧版本的 nominatim,它存在内存泄漏,几周前已经修复了这个问题。如果您从 svn 更新代码并重建,这个问题可能就会解决。
答案2
听起来进程调度程序或低内存杀手正在妨碍您。您的机器可能没有足够的能力完成这项工作。您可以尝试使用nice
比正常情况下更高的优先级运行此操作,并确保机器上没有运行无关紧要的东西,并且在运行时不要做任何其他会耗尽内存的事情。希望当它通过初始过程时,将来的更新应该更容易处理。
编辑:根据评论中的讨论,当内存耗尽并占用交换空间时,作业似乎会崩溃。我推荐两件事。首先,增加交换空间。它应该至少是 RAM 的 2 倍,但增加 10 倍也不会有什么坏处。其次,尽量不要交换,因为它会比干燥泥浆还慢。弄清楚是否有办法将进程限制为一次处理较小的块,以免 RAM 耗尽。