Процесс, неожиданно завершающий работу с сообщением Killed
, часто означает, что он получил SIGKILL
; если это так, тогда код выхода будет 137. Трудно быть уверенным, что процесс может явно напечатать Killed
и завершить работу с кодом 137 в любом случае, но, если вы не делаете этого в своем коде, то это то, что я проверю next.
Неожиданный SIGKILL
часто исходит от OOM-убийцы ядра, который принимает меры, когда системе не хватает памяти, и обычно убивает процесс с наибольшим объемом памяти. Если это так, в журналах ядра будут записаны подробности, которые вы можете прочитать с помощью dmesg
.
Если это был убийца OOM, то это звучит как ошибка в этом коде индексации. Индексирование большого объема документов в Elasticsearch должно потребовать довольно ограниченной рабочей памяти, не превышающей 16 ГБ, но легко случайно случайно сохранить слишком много данных в памяти слишком долго, что приведет к чрезмерному использованию памяти.
python manage.py search_index
предполагает, что вы используете Django Elasticsearch DSL , который исправил проблему производительности относительно недавно. Убедитесь, что вы используете версию, которая содержит это исправление.