Как узнать, чем занят Finder?

9

Я использую Snow Leopard на MacBook Pro. Мой Finder решил быть очень занятым, и ни перезапуск Finder, ни перезагрузка не охлаждают его. Spotlight не сообщает об активности, Time Machine не занята, но top -ocpu сообщает, что Finder работает от 30% до 100%.

Обновление: ни одно из предложений не сработало. В этот момент (через три месяца после первого вопроса) я подал в отставку, чтобы дождаться выхода нового MacBook Pro и начать чистую установку. Очень расстраивает, что нет никакого способа исследовать то, на чем застревает Искатель.

Питер С Магнуссон
источник
Я был бы рад взглянуть на ваш вывод spindump или lsof, @Peter.
Spiff

Ответы:

8

Команда оболочки ...

sample Finder

... будет отслеживать все вызовы функций, выполняемые Finder, и создавать текстовый файл, показывающий стеки вызовов каждого из потоков Finder. Даже знающие непрограммисты (если хотите, суперпользователи) часто могут извлечь из этого ценную информацию. Также полезно прикрепить к отчету об ошибках Apple через http://bugreport.apple.com/ .

По сути, это то же самое, что кнопка «Пример процесса» в Activity Monitor.


Обновление: О, даже лучше, чем sample(1)есть spindump(8), что похоже, sampleно добавляет видимость того, что делает ядро, когда потоки приложения блокируются в ожидании ядра.

sudo spindump Finder

Текстовый файл, который он создает /tmp, потребует чтения привилегированных прав пользователя, поскольку он может содержать привилегированную информацию.


Больше подсказок можно почерпнуть из ...

lsof -p $PIDOfFinder

(где $ PIDOfFinder - это идентификатор процесса Finder, который вы можете найти через ps.)

Похоже, вы можете получить ту же информацию в Activity Monitor. Выберите Finder, нажмите кнопку «Проверить» и выберите вкладку «Открыть файлы и порты».

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

Используете ли вы какие-либо хаки InputManager, в том числе основанные на SIMBL, или "гаксы" Unsanity Application Enhancer (APE)?

Возникает ли проблема при загрузке в «Безопасном режиме» (то есть при загрузке с <shift>нажатой клавишей)?

Spiff
источник
@ Питер, это либо все это, либо чистая установка! : P
cregox
сдаться. В конце концов, решил, что с новым MacBook Pro с чистой установкой будет легче разобраться. в установке было что-то повреждено. но я ценю опыт обучения. :-)
Питер С Магнуссон
5

К сожалению, Apple не предоставляет никаких функций мониторинга активности для Finder. Таким образом, я думаю, что лучшее решение, если Finder продолжает плохо себя вести, это переместить его файл настроек: ~/Library/preferences/com.apple.finder.plistиз папки настроек и перезапустить его.

Тристан Сен-Сир
источник
Конечно, хороший ответ, но я бы посоветовал немного протестировать, прежде чем пытаться уничтожить предпочтения искателя ...
Бенджамин Шолльник,
как предложил Бенджамин, я сначала попробовал другие вещи, но безрезультатно (проблема вернулась). нюки префов, похоже, сделали свое дело.
Питер С Магнуссон
Нет, это не так. проблема продолжала оставаться постоянной.
Питер С Магнуссон
2
@Peter Если я немного, значит, что-то не так с настройками поиска. Вы пробовали проверить консольный журнал в это время?
Cregox
0

Если Activity Monitor просто показывает «Finder» с высоким процентом, у вас не обязательно есть простой способ выяснить, что его вызывает.

1) Проверьте, установлены ли у вас файловые серверы. Если это так, извлеките их, в том числе MobileMe. 2) Хит Command-J. Отключите «Использовать относительные даты» и «Рассчитать все размеры». Вы видите разницу?

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

Бенджамин Шолльник
источник
0

Ничто не скажет вам волшебным образом, что не так, но этот скрипт скажет вам, какой вид вторичного мусора вы установили на свою машину, чтобы вы могли начать процесс удаления самостоятельно:

http://khiltd.com/software/consultants_canary

Я бы обратил особое внимание на плагины QuickLook и Spotlight, но на самом деле неясно, что люди ставят на свои машины.

Хасан Чоп
источник