Как отладить причину огромного индекса Spotlight?

0

Мой индекс Spotlight (MacBook Air 13, 10.13.6) выходит из-под контроля, и мне приходится удалять и перестраивать его как минимум два раза в день.

У меня на жестком диске около 70 Гб, а база данных Spotlight /.Spotlight-V100/медленно увеличивается, пока не займет все свободное место.

В этот момент я удаляю индекс следующим образом:

#!/bin/bash

sudo mdutil -a -i off
sudo rm -rf /.Spotlight-V100/*
sudo mdutil -a -i on

и позволить ему восстановить себя.

Этот пост указывает, что другие видели такое поведение, но не помогает при отладке, так как на плакате обнаружена проблема с драйвером устройства, которого у меня нет. Прожектор Massive (из-под контроля на 100 ГБ +)

Любые советы, как отладить эту проблему? Я осмотрел Console.app, но не нашел четкого указателя на что-то выходящее из-под контроля.

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

введите описание изображения здесь

На данный момент у меня нет идей, что проверить. Я довольно тщательно полагаюсь на Spotlight для поиска почты в Outlook, поэтому не могу просто отключить его полностью. Спасибо!

Джеймс Кронен
источник

Ответы:

2

Работая в предположении, что это определенный файл, папка или тип файла, который вызывает какую-то ошибку, которая приводит к взрыву размера индекса, я бы посмотрел на реальные файлы, которые создает Spotlight (то есть на саму базу данных). Трюк смотрит на них в любом текстовом редакторе или даже в hex-редакторе.

Если это действительно вызвано ошибкой, которая приводила к тому, что один и тот же контент индексируется снова и снова, тогда вы сможете увидеть, какой это файл или тип файла. Затем вы можете сузить, какую папку исключить из Spotlight.

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

Если вы знакомы с терминалом, вы также можете посмотреть, какие файлы действительно открываются и читаются процессами mdworker. Это может снова дать вам подсказку о том, почему индекс такой большой.

Сначала используйте Activity Monitor, как вы уже сделали, чтобы найти процессы mdworker. Запишите столбец «PID», который содержит идентификатор процесса.

Откройте Терминал и выполните следующую команду:

lsof -n -p <pid>

Вам необходимо заменить фактическим идентификатором процесса. Это даст вам список файлов, которые в данный момент используются этим процессом.

Вы также можете запустить:

fs_usage -p <pid>

Снова замените фактическим идентификатором процесса. Эта команда покажет вам доступ к файлам для этого процесса по мере их возникновения. Вы можете остановить отображение, нажав Ctrl-C.

jksoegaard
источник
Спасибо ... Я закончил путь бинарного поиска. Я не знаю точно, из-за какого файла или папки индекс выходит из-под контроля, но список папок в моем индексе «Конфиденциальность» - это набор, для которого мне удобно проигрывать индексирование. Через несколько дней индекс держится довольно стабильно на уровне 1,1 Гб, поэтому сейчас я называю это фиксированным. Спасибо!
Джеймс Кронен