2013-12-31 8 views
1
  1. Я только что обновил сфинкс до последней версии и использовал один из моих существующих индексов с добавленными дополнительными полями. Общий размер индекса после вращения составляет 23 ГБ. Но теперь получаю следующее сообщение об ошибке при попытке запросить этот индекс:

ВНИМАНИЕ: индекс «sbbleads_members_selling_buying_ipr»: предварительная нагрузка: ММАП() неуспешно: Невозможно выделить память (длина = 1189592993); НЕ СЛУЖБЕSphinx: preload: mmap() не удалось: не удалось выделить память

  1. не получить также не включены локальные индексы для поиска при попытке использовать этот индекс

ответ

1

Вы используете всю память somehow.The наиболее частой причиной является объявляя строки в качестве атрибутов, которые загружаются в память , Если вы не нуждаетесь в их возврате в результатах, просто объявите их как поля (не sql_attr_string или sql_field_string или rt_attr_string). 2.2.1 имеет ondisk_attrs, который позволяет хранить строковые атрибуты на диске. Проверьте также, если вы не разрешили mlock, для которого требуются привилегированные разрешения.

Смежные вопросы