Dlaczego MDS działa dziko w Mac OS X 10.6?

112

Mam problem z procesem MDS działającym dziko na moim MacBooku Pro 13 ". Przeczytałem na innych forach pomocy technicznej, wskazując, że nieprawidłowo sformatowane dyski zewnętrzne mogą stanowić problem, ale nie mam podłączonych dysków. Jak można rozwiązać ten problem? debugowane i naprawione?

Jeśli to pomoże, mam ogromne archiwum poczty. Nie wyłączyłem indeksowania tego archiwum, ponieważ nie byłem w stanie znaleźć korelacji między nimi, ale rozważam to.

(Może to być normalne zaraz po aktualizacji z 10.5 do 10.6, w takim przypadku indeks wyszukiwania Spotlight musi zostać przebudowany do mds. Ale w tym przypadku minęło kilka tygodni.)

kubi
źródło
Zrobiłem „sudo killall -9 mdworker” na komputerze Macbook mojej żony i wydaje się, że to rozwiązało problem znikającej pamięci.
copper.hat
Dla twojej informacji, ten typowy koszmar Spotlightwciąż występuje w rzeczywistych Yosemitewersjach. Nie mogę jeszcze powiedzieć El Capitan.
dan

Odpowiedzi:

114

Aby zobaczyć, co faktycznie robi mds, a co ważniejsze, jego potomny mdworker - użyj fs_usage, aby zarejestrować, jakie pliki otwiera:

sudo fs_usage -w -f filesys mdworker

Chociaż jest tam wiele niezrozumiałych rzeczy, mówi ci, kiedy otwiera plik, aby rozpocząć czytanie z niego. Skopiowanie pliku PDF do mojego systemu plików pokazuje, że mdworker otwiera plik, a następnie natychmiast po dużej aktywności ...

ps, jeśli chcesz trochę mniej szczegółów, to po prostu wyświetli listę otwartych punktów pliku:

sudo fs_usage -w -f filesys mdworker | egrep "open"
Macka
źródło
Nie byłem w stanie rozwiązać mojego problemu (ostatnio nie widziałem problemu z MDS), ale nauczyłem się kilku dobrych poleceń debugowania dla takich sytuacji, o co prosiłem.
kubi
1
Odpowiedź Macka zadziałała dla mnie. W szczególności: Moje procesy w centrum uwagi wisiały na 100% procesorze i nigdy nie zakończyły indeksowania. Dzięki fs_usagemogłem dokładnie zobaczyć, które pliki się rozłączyły mdworker. Usunąłem niepoprawne foldery (prawdopodobnie miały pętlę dowiązania symbolicznego), ponownie uruchomiłem procesy Spotlight i wszystko działało.
Nathan Bowers
8
WAŻNE: gdy dowiesz się, które foldery lub pliki powodują zawieszanie się procesów Spotlight, wyklucz je z indeksowania Spotlight na karcie ustawień „Prywatność” Spotlight. Czasami pliki problemów są automatycznie generowane przez OSX.
Nathan Bowers
5
Jeśli naprawdę jest to mdsproces, który działa dziko, po prostu zamień mdworkerpolecenie w poleceniu na mds. (Pomogło mi to zdiagnozować problem, gdy Spotlight nagle zdecydował się zaindeksować moją partycję Bootcamp.) Dzięki!
Jari Keinänen
Pokazuje nazwy plików, ale nie foldery. W szczególności zużywa dużo procesora podczas budowania niektórych aplikacji w MacPorts. Wyłączyłem już / opt i myślę, że indeksuje / tmp, gdzie zapisywane są niektóre pliki kompilatora. Jak znaleźć pełną ścieżkę indeksowanych plików?
highBandWidth
30

W rzadkim przypadku, w którym chcesz wyłączyć wyróżnianie, użyj następującego polecenia:

sudo mdutil -a -i off

Aby ponownie włączyć:

sudo mdutil -a -i on
Shaond
źródło
3

Chciałem tylko zauważyć, że Spotlight / MDS może wcale nie być problemem. Błędy w Time Machine (szczególnie gdy Time Machine zajmuje dużo czasu na „indeksowanie”) mogą stworzyć sytuację, w której Spotlight próbuje ciągle indeksować te same pliki.

duffbeer703
źródło