Почему MDS работает в Mac OS X 10.6?

112

У меня были проблемы с запуском процесса MDS на моем MacBook Pro 13 ". Я читал на других форумах поддержки, указывающих, что проблема может быть в неправильно отформатированных внешних дисках, но у меня нет подключенных дисков. Как эта проблема может быть отлажены и исправлены?

Если это поможет, у меня есть огромный почтовый архив. Я не отключил индексирование этого архива, потому что я не смог найти корреляцию между ними, но я обдумываю это.

(Это может быть нормальным сразу после обновления с 10,5 до 10,6, и в этом случае необходимо перестроить поисковый индекс Spotlight mds. Но в этом случае прошло несколько недель.)

куби
источник
Я сделал 'sudo killall -9 mdworker' на macbook моей жены, и это, похоже, решило ее исчезающую проблему с памятью.
медь.
К вашему сведению, этот типичный кошмар Spotlightвсе еще случается на реальных Yosemiteверсиях. Я пока не могу сказать El Capitan.
дан

Ответы:

114

Чтобы увидеть, что на самом деле делает mds и, что более важно, его дочерний mdworker - используйте fs_usage, чтобы записать, какие файлы он открывает:

sudo fs_usage -w -f filesys mdworker

Несмотря на то, что там много непонятного, оно говорит вам, когда открывает файл, чтобы начать чтение с него. Копирование PDF-файла в мою файловую систему показывает, что mdworker открывает файл сразу после большого количества действий ...

ps, если вы хотите немного меньше деталей, это будет просто список точек открытого файла:

sudo fs_usage -w -f filesys mdworker | egrep "open"
Щупальце
источник
Я не смог решить свою проблему (в последнее время не видел проблемы с MDS), но я выучил несколько хороших команд отладки для подобных ситуаций, о чем я и просил.
Куби
1
Ответ Щупальца сработал для меня. В частности: мои процессы в центре внимания зависали на 100% ЦП и никогда не завершали индексацию. С помощью fs_usageя смог точно узнать, какие файлы зависали mdworker. Я удалил поврежденные папки (они, вероятно, имели цикл символьных ссылок), перезапустил процессы Spotlight, и все заработало.
Натан Бауэрс
8
ВАЖНО: как только вы выясните, какие папки или файлы приводят к зависанию процессов Spotlight, исключите их из индексации Spotlight на вкладке настроек Spotlight «Конфиденциальность». Иногда проблемные файлы автоматически создаются OSX.
Натан Бауэрс
5
Если это действительно mdsпроцесс, который работает, просто замените mdworkerв команде mds. (Это помогло мне диагностировать проблему, когда Spotlight вдруг решил проиндексировать мой раздел Bootcamp.) Спасибо!
Яри ​​Кейнянен
Это показывает имена файлов, но не папки. В частности, он использует много ЦП при сборке определенных приложений в MacPorts. Я уже исключил / opt и думаю, что это индексирование / tmp, где пишутся некоторые файлы компилятора. Как мне найти полный путь к этим файлам, которые он индексирует?
highBandWidth
30

В редких случаях, когда вы хотите отключить прожектор, используйте следующую команду:

sudo mdutil -a -i off

Чтобы снова включить:

sudo mdutil -a -i on
shaond
источник
3

Просто хотел отметить, что Spotlight / MDS может и не быть проблемой вообще. Ошибки с Time Machine (особенно когда Time Machine занимает много времени для «индексации») могут создать ситуацию, когда Spotlight пытается постоянно индексировать одни и те же файлы.

duffbeer703
источник