Почему Spotlight продолжает переиндексировать мою систему после обновления до Lion?


15

С тех пор, как я установил Lion, база данных Spotlight продолжает переиндексировать (что занимает несколько часов). Это происходит по крайней мере каждый второй день.

Есть ли у других пользователей эта проблема с Lion (т.е. это просто ошибка 10.7.0)? Если нет, как я могу диагностировать причину - я не вижу подозрительных записей в консоли?

Было бы приятно узнать, можно ли просто сбросить историю прожектора и восстановить ее.


4
См. Superuser.com/questions/46195/…, где показана техника, позволяющая выяснить, какой файл не выполняется при индексации.
Андрей Вит

Ответы:


15

У меня тоже возникла проблема с переиндексацией после перехода на Lion. Однако проблема не существует для каждого пользователя, только для того, кто использовал FileVault 1.

Через несколько недель я получил более разочарование и побежал ... †

$ sudo mdutil -a -i off

… В Терминале - и в ту же минуту я понял, что настройка применяется для всей системы. Я пожал плечами и провел несколько часов без переиндексации, после чего я решил снова включить Spotlight, так как это важно для моего рабочего процесса на других учетных записях пользователей; так:

$ sudo mdutil -a -i on

И пока я занимался этим, я решил стереть старый индекс и перестроить новый с нуля:

$ sudo mdutil -aE

Я сделал это около месяца назад, и с тех пор я не встречал «бесполезную» переиндексацию. Я счастливо удивлен, потому что решение проблемы было просто совпадением.

Итак, вы пытались выключить и снова включить?


†) -aфлаг будет применять действие ко всем томам, которые могут быть не тем, что вы хотите - и на самом деле это было не то, что я хотел, но я просто хотел провести блицкриг по этому вопросу.


Обратите внимание на награду: я нахожусь на iMac без SSD, извините, но это может решить проблему независимо.
Яри ​​Кейнянен

3
Это было то, что я собирался предложить. Для действительно параноика, удалите существующий индекс вручную, используяsudo rm -rfv /.Spotlight-V100
TJ Luoma

Так странно. Я только что перешел на Lion в пятницу, и Spotlight умер. Вчера попытался mdutil безрезультатно, а затем попытался сегодня снова и вуаля! Повторное индексирование. Странно ...
Валиен

10

Я понял это. Один из плагинов центра внимания вызывал ошибки, которые были обнаружены при более тщательном изучении журнала консоли.

Я узнал, какое приложение вызывало проблему, заглянув в

/Library/Logs/DiagnosticReports

Там я нашел несколько отчетов о сбоях от mdworker (бэкэнд для Spotlight). Все сбои были вызваны тем же плагином приложения. Теперь я удалил этот плагин из моей системы.


Но какой плагин был в вашем случае?
Джейсон Салаз

2
Mathematica (более ранняя версия - текущая версия в порядке).
dan8394

3

Новая теория: на моем системном диске остается мало места - иногда до нескольких сотен МБ свободного места. Когда ОС обнаруживает эту ситуацию, она удаляет индексы Spotlight. Когда я снова освобождаю место, это должно восстановить индексы.


Я тоже переживал это. Я не знаю, произошло ли то же самое в 10.6, потому что я переключился на SSD и Lion одновременно.
Lri

Я также испытываю проблему с малым пространством и думаю, что это уже произошло на Snow Leopard (10.6). Проблема в том, что Lion удаляет индекс (я думаю, чтобы не допустить исчерпания места), но после того, как он удаляется, он начинает воссоздаваться, что в итоге вызывает ту же проблему снова и снова (вместо временного выключения Spotlight. пока не решите ситуацию с низким пространством).
Рикардо Санчес-Саез

2

@koiyu, @TJ Луома - Это была комбинация обоих ваших ответов, которые заставили мой MacBook Air (SSD) в конце 2010 года перегреваться и вылетать по ночам.

Я объединил ваши ответы в сценарии, который я назвал mdutil_rebuild.sh. Сохраните его как «what_name_you_like.sh» и запустите его из терминала с помощью sh whatever_name_you_like.sh. К вашему сведению - мне требуется около 7 часов, чтобы восстановить индекс ~ 130 ГБ на моей машине. Возможно, стоит сделать это в одночасье, если вам понадобится весь ваш процессор для чего-либо.

#!/bin/sh

#  Force rebuild the spotlight index from scratch.
#    Compiled on 12-14-2012 in response to runaway 
#    reindexing processes from answers by @koiyu
#    and @TJ Luoma.
#
#  Ask Different Question: http://bit.ly/SYTE1j 

# Turn off spotlight.
  sudo mdutil -a -i off

# Remove the index files.
  sudo rm -rfv /.Spotlight-V100

# Turn on spotlight.
  sudo mdutil -a -i on

# Reindex all mounted /Volumes
  sudo mdutil -aE

1

Две вещи, которые я обнаружил, исследуя эту же проблему:

Импортеры 32-битных прожекторов

Похоже, это одна из причин, по которой mds и mdworker (системные процессы, стоящие за Spotlight) отключились и не смогли завершить индекс. (И может объяснить таинственные сообщения «Невозможно поговорить с lsboxd».) Поскольку mds и mdworker являются 64-битными процессами, вероятно, они не могут работать со старыми 32-битными импортерами Spotlight (я обнаружил три в моей системе).

Чтобы узнать, есть ли у вас, используйте Terminal.app и введите эту команду: mdimport -L

Это даст вам список путей, где вы можете найти каждого из импортеров Spotlight (некоторые встроены в сторонние приложения). Используйте команду Finder «Перейти к папке ...», чтобы открыть вложенную папку каждого Spotlight Importer. В Finder, «Получить информацию» на каждом, чтобы увидеть, если он говорит «(32-разрядный)». Я переместил их в корзину и попробовал процесс, предложенный выше, и он, казалось, работал лучше.

Восстановление почтовых ящиков Mail.app

Это было то, что в конечном итоге заставило Spotlight индексировать электронную почту, которая не была включена в предыдущие попытки, даже после процессов, предложенных выше и в других местах. Только после того, как Mail.app перестроил почтовые ящики, Spotlight начал возвращать результаты поиска из этих мест.


0

Попробуйте зайти в дисковые утилиты, выбрать жесткий диск и восстановить разрешения. Это сработало для меня из-за проблем с прожекторами.


0

Две очень простые вещи, которые можно попробовать сразу, - которые часто облегчают этот вид махинаций Spotlight для меня .. 

1: Во-первых, если у вас есть root-доступ ... sudo killall mdsиз терминала .. Который убивает процесс "mds" ... (поиск метаданных ??), который вытащит вас из любого беспорядка X, Y или Z плагин, файл или еще что-то, что сделало прожектор фальшивым в первую очередь .. Принудительное завершение сейчас, устранение неполадок позже ... Это то, что всегда говорил мой отец. Шучу, я сирота ..

Или 

2: Для более пешеходного решения. Откройте настройки фок и a: удалите все неиндексированные «частные» элементы ... И b: если вы хотите сбросить индекс громкости ... Я полагаю, что вы можете сделать это, фактически добавив загрузите ваш диск с этим списком, закройте и снова откройте системные настройки, а затем удалите вышеупомянутый «Macintosh HD» из списка конфиденциальности. Это ... Это выполнит переиндексацию диска. Надеюсь, на этот раз с меньшим раздражением. Ой! 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.