Как исправить медленные Spotlight и Time Machine после обновления до 10.7.5?

21

С момента обновления до 10.7.5 и Spotlight, и Time Machine работают очень медленно.

  • Для индексации обычного системного диска Spotlight рассчитывает, что потребуется несколько дней .
  • В результате Time Machine требуется до часа или более для инкрементного резервного копирования ~ 100 Mib.

Какое решение существует для этих медленных резервных копий Time Machine и индексации Spotlight?

bmike
источник
Я могу подтвердить оба замедления, начиная с 10.7.5. Где исправить медлительность Time Machine наиболее актуально. Индексирование Spotlight завершилось в течение нескольких дней, но Time Machine работает несколько дней и только при 11,59 ГБ из 53,19 ГБ.
Pro Backup
Но даже индекс Spotlight, занимающий несколько дней, недопустим.
Закончил ли когда-нибудь Spotlight создание индекса или оставшееся время показывалось за несколько дней?
Lri
@LauriRanta Я не дождался :)
1
Решением, которое я нашел, было удаление папок / var / и перезагрузка. Время в центре внимания сократилось с 3 дней до 51 минуты. Точно так же Timemachine на недавно установленном / восстановленном Lion работал от 30 дней до 11 часов.
Грант Сэйер

Ответы:

5

OS X Lion 10.7.5 Справочная Обновление выпущен 4 октября 2012 включает в себя:

Решает проблему, которая может привести к тому, что резервное копирование Time Machine займет очень много времени

и после тестирования это, похоже, полностью решило проблему.

Обратите внимание, что для меня первая резервная копия после установки этого обновления по-прежнему занимала много времени и содержала много com.apple.backupd[423]: Waiting for index to be ready (100)сообщений, так что, возможно, Spotlight еще не произвел надлежащую индексацию диска. Теперь, пару часов спустя, небольшие резервные копии завершаются в своем обычном быстром темпе, и все хорошо.

blahdiblah
источник
1
FYI. Это могло решить проблему с 10.7.5, но не с 10.8.2.
jschmidt
@jschmidt Вы пробовали дополнения 10.8.2? Дополнительное обновление 10.7.5 включало изменения в lsboxd, xpchelper и кучу аудио. Также внесены изменения в разрешения для SandBox для xpchelper ocspd(хотя никаких изменений для mdworker нет). Что /System/Library/Sandbox/Profiles/com.apple.xpchelper.sbвыглядит как дополнительный пост?
Старый Pro
Да. Я попробовал дополнительное обновление на 10.8.2, но это не помогло. Единственное, что сработало для меня - это полная очистка системы и переустановка ОС. Я вручную скопировал свои данные из другой резервной копии, но не восстановил ни приложения, ни настройки.
jschmidt
Прошло много времени с тех пор, как я обновлялся, но время от времени я все еще сталкиваюсь с этой проблемой. Есть предположения?
DA Винсент
10

Я разместил этот обходной путь в этой теме . Вот оно (это не решение, а временный обходной путь, позволяющий моей резервной копии и Spotlight работать, пока не будет выпущено исправление).

Используя терминал:

  1. Я отключил индексирование Spotlight:

    sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
    
  2. Я удалил индекс Spotlight на всех своих дисках (включая диски резервного копирования):

    sudo rm -rf /.Spotlight-V100/Store-V1 /.Spotlight-V100/Store-V2  /.Spotlight-V100/VolumeConfiguration.plist
    
    sudo rm -rf /TimeMachineDrive/.Spotlight-V100/Store-V1 /TimeMachineDrive/.Spotlight-V100/Store-V2  /TimeMachineDrive/.Spotlight-V100/VolumeConfiguration.plist 
    

( rm -rf /.Spotlight-V100/*у меня не сработало.) (Это также можно сделать, исключив весь диск с помощью параметра конфиденциальности Spotlight, а затем включив его заново.)

  1. Я удалил /var/foldersконтент (см. Эту тему, чтобы узнать почему ):

    sudo rm -rf /var/folders/*
    
  2. Я удалил .inProgressфайлы из своих Backups.backupdbподпапок (положить в корзину, затем очистить корзину - единственный способ сделать это).

Может потребоваться переформатировать резервный диск, а не только удалять .inProgressфайлы.

  1. Я перезагрузился и затем перезапустил Spotlight:

    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
    
    sudo mdutil -i on -E /
    
  2. Я ждал, пока Центр внимания не закончил процесс индексации

  3. Я запустил новую резервную копию, используя TimeMachine

  4. Я открыл отчет об ошибках в Apple с заголовком: «TimeMachine зависает, когда Spotlight используется в Mac OS X 10.7», молясь, чтобы многие другие люди сделали то же самое, чтобы сделать эту ошибку приоритетом.

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

lauhub
источник
Спасибо. sudo rm -rf /var/folders/*сделал трюк в моем случае
maggix
Не удаляйте содержимое /var/foldersна El Capitan, оно полностью изменит вашу систему: индикатор выполнения остановится во время входа в систему, мне пришлось переустановить резервную копию TM. Для записи, TM был невероятно медленным на моей машине из-за MenuMeters .
Фрэнк Паваго
7

Проверьте файл журнала консоли и найдите строки, подобные этой (реальные строки журнала будут иметь идентификаторы процессов и даты):

sandboxd: mdworker deny mach-lookup com.apple.ls.boxd
mdworker: Unable to talk to lsboxd

Если вы видите это, это, вероятно, источник проблемы. Что-то, что Appple сделал с этим последним выпуском (также влияет на Mountain Lion 10.8.2).

Я не знаю, что на самом деле происходит, кроме как сказать, что mdworker(который сканирует и индексирует файлы для Spotlight) вызовы, LSCopyLibraryItemURLs()которые в конечном итоге отправляет сообщение lsboxd. Политика Песочницы не допускает этого, поэтому работник убит.

Так что, возможно, файл политики неправильный, или, возможно, mdworkerне следует делать этот вызов. Я не знаю. Однако исправить файл политики относительно просто. ПОТЕНЦИАЛЬНО ОПАСНО , но легко.

Отредактируйте эти файлы как root:

/usr/share/sandbox/mdworker.sb
/usr/share/sandbox/mdworker-bundle.sb

Внутри файлов вы найдете строку:

(allow mach-lookup (global-name "com.apple.ocspd"))

Прямо под ним добавьте строку:

(allow mach-lookup (global-name "com.apple.ls.boxd"))

Это оно!

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

sudo mdutil -E /

На самом деле, я все еще вижу mdworker: Unable to talk to lsboxdв своих файлах журналов, но, по крайней мере, теперь индексирование закончится, и Time Machine снова начнет двигаться быстро.

Старый Про
источник
Есть три файла: mdworker-lsb.sb, mdworker-scan.sbи mdworker.sb. Все они содержат только строку, (allow mach-lookup)но не (allow mach-lookup (global-name "com.apple.ocspd")).
@OldPro Я пытался следовать твоим инструкциям и нахожусь в той же ситуации, что и Тиходрома. Так что теперь у mdworker.sbменя есть (allow mach-lookup) (allow mach-lookup (global-name "com.apple.ls.boxd"))и после того, как я добавил эту строку, я перезапустил. Тем не менее, машина времени все еще едет медленно. Можете ли вы помочь, пожалуйста?
раввин
Я подтвердил, что у меня были эти сообщения в журнале консоли. Я также следовал инструкциям. Без изменений для меня. Я удалил весь комплект TM для своей машины и запустил новую резервную копию. Он сделал это около 200 ГБ через 600 ГБ резервного копирования и останавливается. Я запускаю TM на Mac Mini Server с Drobo, подключенным через FW800. Мой исходный компьютер - MacBook Pro Retina с ML 10.8.2. Я перезагрузил сервер и MBP и попытался продолжить резервное копирование снова. На этот раз он сделал только около 100 ГБ больше, а затем останавливается. Еще одна попытка только 3GB. Что-то останавливает это, но я не знаю что.
jschmidt
1
@Tichodroma Мне очень жаль, что я неправильно прочитал ваш комментарий. Если у вас mdworker.sbуже есть (allow mach-lookup)(1), вы никогда не должны видеть sandboxd: mdworker deny mach-lookup com.apple.ls.boxdв журналах и (2) редактирование файла не поможет. Это тоже касается вас @ user15380
Old Pro
Хорошо. Я обнаружил еще одну общность (казалось бы) с ошибками резервного копирования. У меня больше нет запрета на поиск в файле com.apple.ls.boxd в консоли (хотя я по-прежнему получаю сообщение «mdworker: Unable to говорить с lxboxd»). Тем не менее, я вижу кучу сообщений "sandboxd [1289]: ([1288]) mdworker32 (1288), запрещающих поиск в файле com.apple.PowerManagement.control ...". Нужно ли добавить еще одну строку для com.apple.PowerManagement.control?
jschmidt
6

Вы можете полностью исправить все ошибки изолированной программной среды mdworker в Консоли (включая cannot talk to lsboxd), отредактировав system.sbпрофиль, а не mdworker. Файл system.sb используется всеми системными процессами Apple, которые выполняются в песочнице, включая mdworker. Если вы измените этот файл (который находится в /System/Library/Sandbox/Profiles), чтобы включить:

(allow mach-lookup (global-name "com.apple.ls.boxd"))

(allow mach-lookup (local-name "com.apple.ls.boxd"))

Это остановит все проблемы mdworker, связанные с lsbox.

phobox
источник
1
Но комментарий вверху system.sb гласит: «Содержимое этого файла также генерируется автоматически и не может быть отредактировано пользователем; оно может быть перезаписано в любое время».
Джефф
5

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

Кто-то в Super User запустил opensnoop, чтобы найти файлы, на которых остановился mdworker:

sudo opensnoop -n mdworker

Из предложенного редактирования пользователем37651:

Я выполнил команду opensnoop выше, и она показала проблему с файлами в ~ / Library / Developer, которые были помещены туда из предыдущего восстановления Time Machine. (В настоящее время у меня не установлен XCode.) Я удалил папку, и индексирование Spotlight завершилось всего за 30 минут. Моя резервная копия Time Machine теперь, кажется, работает.

LRI
источник
1
Может быть, я попробую это позже. Странно то, что Spotlight работал нормально в 10.7.4 и замедлялся только после обновления до 10.7.5. Файлы, которые Spotlight должен проиндексировать, не изменились.
Я попробовал ваш подход, добавив все данные на системный диск в список конфиденциальности Spotlight. Но даже тогда Spotlight потребовалось так много времени, чтобы рассчитать, сколько времени потребуется для индексации файлов (что?), Что я прервал процесс. Яблоко, где починка ?!
1

Можно удалить индекс Spotlight, а затем заставить Mac OS X создать новый индекс с нуля. Обычно это стоит попробовать в такой ситуации, как ваша.

Боюсь, я не знаю команд терминала для этого. Когда мне нужно это сделать, я использую коммерческую программу MacPilot от Koingo Software , которая стоит 20 долларов США. У них есть полнофункциональная пробная версия, которую вы можете использовать в течение 15 дней. Если вы найдете это полезным, вы можете решить заплатить за это.

Я полагаю, есть и другие утилиты для этого.

Конечно, как только вы удалите существующий индекс Spotlight, вам нужно подождать, пока Spotlight создаст новый индекс. Вы должны позволить вашему Mac работать без перебоев столько, сколько потребуется для полного создания нового.

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


источник
Проблема заключается в том, что Spotlight рассчитывает время, необходимое для индекса, равное многим дням . Таким образом, использование MacPilot или mdutilинструмента командной строки помогает облегчить боль, но не решает проблему.
Считаете ли вы, что сам диск может быть поврежден или физически поврежден, и поэтому прогнозируется, что индексирование займет так много времени? Возможно, вам следует запустить диагностику на предмет повреждения диска. Клонируйте свою систему на внешний резервный диск, пока вы в безопасности.
Нет, диск в порядке. Кроме того, у многих других пользователей такая же проблема. Посмотрите на обсуждения на сайте Apple. У меня есть внешнее резервное копирование с использованием CCC :)
1

Черт! Ускорение загрузки тоже

Я пишу другой ответ, просто чтобы подвести итог конкретным шагам, которые я предпринял (я должен четко понимать, что они являются частью того, что УЖЕ написано здесь, а не мой вклад), потому что после того, как я предпринял эти шаги, не только Time Machine работает быстрее, но мое время загрузки уменьшилось с 1 минуты 10 секунд до 40 секунд! Мое время загрузки всегда меня заинтриговало, так как я постоянно видел людей, сообщающих о гораздо меньшем времени загрузки для одних и тех же спецификаций, и почему-то эти шаги сокращали время загрузки на 30 секунд (да, я тестировал несколько раз, да, кеши были в порядке, и я сделал много шагов, прежде чем предпринять те из них, включая восстановление прав доступа, восстановление диска, даже дефрагментацию с помощью iDefrag2, но все безрезультатно). До сих пор: P

1

sudo mkdir ~/trash_backup
sudo mv /var/folders ~/trash_backup/ # backup just in case

2

После этого редактируем /usr/share/sandbox/mdworker.sbи /usr/share/sandbox/mdworker-bundle.sbдобавляем (allow mach-lookup (global-name "com.apple.ls.boxd"))ниже строки (allow mach-lookup (global-name "com.apple.ocspd"))на оба файла.

3

В заключение,

sudo mdutil -i on -E /; sudo reboot

Спасибо lauhub и Old Pro. Может ли кто-нибудь объяснить сокращение времени загрузки и что делает mach-lookup для boxd и возможные проблемы с безопасностью? Спасибо всем :)

FernandoH
источник
1

Таким образом, я страдал так же, как и все остальные, но, к сожалению, не прочитал все множество потоков в правильном порядке, поэтому в основном потерял мою первоначальную резервную копию TM, а затем мою базу данных Spotlight, не сумев исправить ее.

Поток где-то, который я не могу найти снова (я думаю, что это было больше о медленном индексе Spotlight), получил сообщение от парня, который просто переустановил 10.7.5, и все вернулось к норме. Я так и сделал, и это сработало.

После завершения переустановки я оставил TM выключенным и позволил Spotlight индексироваться. Я отправился на прогулку, и когда я вернулся, это было сделано - 149 ГБ за что-то менее 90 минут. И это работает, я искал вещи на моем HD.

Затем я включил ТМ, и это заняло 2 часа 9 минут.

Поэтому, если вы планируете потратить время и уменьшить пропускную способность до 10.7.4, вы можете рассмотреть возможность переустановки 10.7.5.

ЛВС
источник
1

В общем, у меня была та же проблема, ТМ ожидала, что потребуется несколько дней для создания новой резервной копии на новом диске, и на самом деле на завершение работы потребуется около 200 МБ.

Я отключил прожектор с помощью команды, указанной выше, и - вот - 40 ГБ, загруженных в течение 10 минут, и обновленный TM работает так же гладко, как и следовало ожидать.

Это довольно важная ошибка, и ее разочаровывает то, что Apple отправляет «обновление», которое вызывает такие проблемы.

Alex
источник
0

Согласно https://discussions.apple.com/thread/4324046?start=60&tstart=0 отключение Spotlight с $ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plistулучшением скорости резервного копирования Time Machine.

Pro Backup
источник
Это может или не может работать. Но поскольку Time Machine полагается на Spotlight, чтобы знать, какие файлы необходимо резервировать, это не является реальным решением. Кроме того, Spotlight является неотъемлемой частью OS X.
1
На самом деле это всего лишь обходной путь, а не решение. В моем случае это даже не сильно ускоряет процесс.
Pro Backup
1
Это не сработало для меня. В моем случае ТМ зависает через некоторое время. Отключение Spotlight вообще не помогло.
jschmidt
0

Простая перезагрузка в SAFEMODE и затем перезагрузка обратно в НОРМАЛЬНЫЙ РЕЖИМ, кажется, очистили это использование для меня. Ездил от 3 недель до 1 часа на резервное копирование.

user37373
источник