Назад | Перейти на главную страницу

Установка предварительно индексированных данных Nominatim

Я пытаюсь установить 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?

Как я могу выполнить обновление без перезапуска всего процесса?

Я подозреваю, что у вас есть старая версия nominatim с утечкой памяти, она была исправлена ​​несколько недель назад. Возможно, если вы обновите код из svn и перестроите, это решит проблему.

Похоже, вам мешает планировщик процессов или убийца нехватки памяти. Ваша машина, вероятно, недостаточно мощна для этой работы. Вы можете попробовать запустить это, используя nice с более высоким приоритетом, чем обычно, и убедитесь, что на компьютере не запущены посторонние вещи, и не делайте ничего, что могло бы попытаться использовать память во время его работы. Надеюсь, когда он пройдет начальный этап, с обновлениями будет легче справляться в будущем.

Редактировать: Согласно обсуждению в комментариях, похоже, что задание вылетает, когда ему не хватает памяти, а затем съедает пространство подкачки. Я рекомендую две вещи. Во-первых, увеличьте пространство подкачки. Он должен быть как минимум в 2 раза больше вашей оперативной памяти, но увеличение в 10 раз не повредит. Во-вторых, старайтесь вообще не менять местами, потому что это будет медленнее, чем высыхание грязи. Выясните, есть ли способы ограничить процесс одновременной работой с меньшими фрагментами, чтобы оперативная память не использовалась.