mds и mds_stores постоянно потребляют процессор

mds и mds_stores являются постоянными потребителями ЦП, даже когда я думаю, что на жестком диске ничего не должно было измениться.

Монитор активности:

монитор активности

У меня есть Macbook Pro примерно 2009 года выпуска с большим количеством программного обеспечения, установленного за эти годы. Dropbox и Crashplan являются активными фоновыми процессами среди многих других.

Я включил много местоположений в настройки конфиденциальности Spotlight, чтобы исключить их из индекса:

  • USB-накопитель
  • Папка Crashplan
  • /Library/Caches
  • /Users/me/Library/Caches

Тем не менее, mds и mds_stores являются постоянными потребителями ЦП, каждый из которых колеблется в пределах 10-12%. Мой вентилятор продолжает работать из-за жары.

Любые идеи относительно того, что это может быть связано и как я могу устранить неполадки?

Ответы (15)

Как вы знаете, mds и mds_stores — это активности Spotlight.

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

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

sudo mdutil -a -i off

это отключает индексацию файлов и должно привести к явному замедлению работы вентиляторов, если mdsи/или mds_storesони виноваты.

Чтобы снова включить индексирование, запустите

sudo mdutil -a -i on

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

sudo rm -rf /System/Volumes/Data/.Spotlight-V100/*

Следующим и последним шагом будет добавление других в ваши (не сканировать) настройки конфиденциальности.

Интересно, почему Apple не решает эту проблему должным образом. Использование ЦП более чем на 100% не должно быть поведением хорошего программного обеспечения. Мой MBP уже перегрелся. :(
это очень полезно
Я думаю, что в моей macOS 12.5.1 (Монтерей) этот каталог/System/Volumes/Data/.Spotlight-V100
Я получаю следующее сообщение:2022-09-12 02:34:02.846 mdutil[5124:80955] Volume / is transitioning, waiting 5 seconds (try 2 of 15)
@iamcrypticcoder все, что означает «более 100%» в unix-подобных системах, заключается в том, что в общей сложности используется более 1 ядра ЦП. Хорошее программное обеспечение обязательно должно превышать этот предел, когда это необходимо. Например, FFMPEG использует около 800% ресурсов ЦП на моей четырехъядерной/гиперпоточной машине при кодировании видео, и это ХОРОШО.

Лучше всего найти каталоги большого объема и исключить их из индексации с помощью настроек Spotlight->Privacy.

  1. В терминальном вызове fs_usageсписок файлов, индексируемых mds_stores

    ~ sudo fs_usage -w -f filesys mds_stores

    0.000227 W Google Chrome He.789992
    12:13:46.660891    WrData[S]       D=0x03a7d92b  B=0x1000   /dev/disk1s1  /Users/XXX/Library/Caches/Google/Chrome/Default/Cache/73f8ce7b565cc7be_0                                                                        0.000297 W Google Chrome He.789992
    
  2. добавьте эти каталоги в список исключений в Системных настройках → Spotlight → Конфиденциальность.
Спасибо, это было действительно полезно! Но в моей системе (High Sierra) мне пришлось заменить mds_storesна, mdsчтобы получить полезный результат.
Рад, что это помогло!
Как вы добавляете пути Libraryв список исключений? Это не позволяет вам добавить только путь, вы должны выбрать его
В любом открытом диалоговом окне нажмите cmd-shift-dot, чтобы показать скрытые файлы, и библиотека будет показана
Мне неясно, чем это полезно... должен ли я просто предположить, что все, что выводится этой командой , часто является чем-то, что я должен удалить из индексации? Если да, то вы передаете результаты этой команды в текстовый файл, а затем выполняете некоторые cutмагические uniq -cдействия? Пожалуйста, дополните. Спасибо!
@MikeWilliamson Команда будет выводить файлы и папки, которые часто индексируются. Как правило, это будут файлы (кэш или исходные файлы), которые часто изменяются, но вам не нужно их индексировать (т.е. они доступны через прожектор). Обычно они группируются в определенных каталогах. Просто добавьте родительские каталоги в список исключений.
На Каталине я получаю ktrace_start: Resource busyпри запуске строки в вашем ответе
Обновление: перезапуск может решить проблему с mds, а также позволит мне запустить строку
Обновление 2: mds_stores возобновили работу вскоре после перезагрузки, поэтому я перехожу по этой ссылке, чтобы хотя бы временно отключить прожектор: macmetric.com/fix-mds_stores-using-high-cpu-usage .
Прожектор @Phillip имеет ценность — для меня он помогает максимально сузить сферу его охвата. индексируйте только те каталоги и типы файлов, которые вам нужны. обоими можно управлять с помощью панели настроек конфиденциальности. И обнаружение ошибочных сканирований выполняется с помощью cmd, которым я поделился выше. (fs_usage)
@AnthonyMetzidis Было указано как минимум сотни мест, некоторые из которых я даже не мог обнаружить в центре внимания (например, /dev/disk1, я полагаю, скрыт) при запуске sudo fs_usage -w -f filesys mds_stores. Я еще не включил Spotlight, но все же смог его использовать (то, что уже было проиндексировано). Я уверен, что включу его обратно в какой-то момент. Боковое примечание: это может быть не причинно, но я только что переключился с входа в Windows (Bootcamp), когда заметил использование ЦП mds_stores. Я добавил диск Bootcamp, чтобы подчеркнуть конфиденциальность, но это не замедлило mds_stores.
Боковое примечание, если кому-то будет полезно: чтобы показать скрытые файлы/папки: удерживайте shift+ fn+ command+ ., хотя это не показало местоположение /dev/disk1
@Phillip Вещи внутри /dev/не настоящие файлы, это «устройства», на которые ссылаются через дескриптор файла. Это disk*жесткие диски и разделы на жестких дисках (или что-то в этом роде). В общем, вы также можете перейти в места, которые могут быть скрыты с помощью shift+ cmd+ gв Finder, но, по-видимому /dev, больше не доступны в Finder. Я не думаю, что он действительно что-то там индексирует.
В течение некоторого времени папка «Поддержка приложений» моего пользователя находилась в списке исключений, но sudo fs_usage -w -f filesys mds_storesфайлы внутри этой папки часто отображаются. Означает ли это, что Spotlight игнорирует настройку исключения?
Это улучшит производительность, но может повлиять на индексацию, например, на почту.
Я не уверен — возможно, Spotlight все еще тестирует файлы, но не индексирует контент.
Я видел такое же поведение

Если у вас есть проблемы с подключением внешнего жесткого диска. проверить эту статью

Запретить Spotlight индексировать внешний диск

В моем случае я решил это, создав .metadata_never_indexфайл по корневому пути внешнего жесткого диска.

$ touch /Volumes/ExternalHard/.metadata_never_index

Надеюсь, это поможет кому-то.

Просто чтобы добавить небольшой совет в дополнение к правильному ответу @Buscar웃: в моем случае я понял, что центр внимания на самом деле индексировал резервные копии Time Machine (что, в первую очередь, действительно глупо). Для меня это в первую очередь объясняет постоянную загрузку ЦП - TimeMachine создает ежечасную резервную копию, Spotlight пытается ее проиндексировать... После остановки службы индексации и удаления существующих индексов, как указано выше, и перед повторным запуском индексации, я также исключил тома TimeMachine (откройте средство поиска, перейдите --> перейдите в папку --> /Volumes, а затем перетащите том TimeMachine в список исключений Spotlight). Скрещенные пальцы.

У меня не работает в MacOS 10.15.3. Я получаю это сообщение «Имя тома» — это папка резервной копии Time Machine. Вы не можете добавить ее в список конфиденциальности».
да как вы заставите это работать на osx 11.4
TIL (от support.apple.com/en-gb/guide/mac-help/mchlp2811/mac ): «Если вы исключите резервный диск Time Machine, вы продолжите получать сообщения о том, что Spotlight его индексирует. Это индексирование необходимо для Time Machine работает правильно и не может быть отключена. Spotlight исключает из поиска элементы, хранящиеся на резервном диске, которые не являются частью резервной копии Time Machine».

У меня такая же проблема, чуть не купил мне новый Mac. Я проверил все в сети о mds_stores и т. д. Все, что я получил, это терминальное программирование и чистые решения для установки ... без гарантий решения проблемы.

Поэтому я проверил свой бесплатный инструмент для очистки и обслуживания «Onyx», и на панели навигации в разделе «Техническое обслуживание» вы можете отметить «Spotlight Rebuild» (по умолчанию флажок не установлен).

После этого у меня не было проблем, и скорость была в норме. Кроме того, монитор активности остается в пределах нормальных параметров. Надеюсь так и останется и будет работать. Потому что это простой и бесплатный совет для нетехнических пользователей Mac.

Обнаружил это час назад, но выглядит многообещающе. Удачи

Как упоминалось в других ответах, индексация Spotlight, вероятно, является причиной этой проблемы. Если вы хотите исключить папки или диски из индексации с помощью пользовательского интерфейса (начиная с macOS 10.15 Catalina), вы можете добавить их в Системные настройки -> Spotlight -> Конфиденциальность.

Диалоговое окно «Системные настройки»

Диалоговое окно конфиденциальности Spotlight

У меня была такая же проблема. Я зашел в Системные настройки безопасности и конфиденциальности , просто чтобы посмотреть, что включает в себя Spotlight. Я проверил одну вещь, а затем снова включил, и она сразу же остановилась. Мой процессор использовал почти 100% мощности процессора, и мои вентиляторы работали без остановки. Все прекратилось после того, как я это сделал, и я понятия не имею, почему. У меня MacBook Pro середины 2012 года.

Список включенных/исключенных папок теперь находится в собственном разделе «В центре внимания» в системных настройках, я добавил несколько снимков экрана в свой ответ apple.stackexchange.com/a/396680/131916

Это сводило меня с ума, диспетчер задач записывал операции чтения со скоростью 50-500 МБ/с, пока компьютер простаивал, и я сузил его до MDS.

тлдр; Итоговые шаги:

  1. Добавьте все папки (включая скрытые) под Macintosh HD в исключение Spotlight.
  2. Удалите папку «Приложения и пользователи» и все остальное, что вам нужно.

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

  1. Откройте Activity Monitor в стабильном состоянии, посмотрите массовое чтение/сек. Убедитесь, что MDS прочитал/записал наибольшее количество байтов.
  2. Откройте Spotlight в настройках
  3. Перетащите "Macintosh HD" в исключения
  4. Перезапустить компьютер
  5. Откройте монитор активности
  6. Дождитесь установившегося состояния, см. чтение/сек до <100 КБ (woohoo!).

Теперь сложная часть - нужно выяснить, что в «Macintosh Hd» вызывает проблему, и исключить.

  1. Повторно откройте настройки Spotlight
  2. Удалите все исключения, которые были шумом при попытке выяснить это, просто оставив Macintosh HD и любые другие, которые, как вы знаете, могут создавать проблемы. Для себя я оставил: Shared, System, Unreal Engine, VirtualBox VMs
  3. Нажмите «+», чтобы добавить исключение, и войдите в Macintosh HD.
  4. ВАЖНО: введите cmd+shift+. показывать скрытые папки, которых должно быть много.
  5. Выберите все (cmd+a), затем «Хорошо». Может получить пару ошибок, что кажется нормальным.
  6. Дождитесь установившегося состояния и повторно проверьте <100 КБ чтения/сек.
  7. Удалите «Macintosh HD» из списка с помощью кнопки (-).
  8. Подождите, пока не установится стабильное состояние и снова не будет читаться <100 КБ/с. Это заняло у моего компьютера ~ 2 минуты, предположительно потому, что он индексирует некоторые папки, которые не попали в список исключений из-за ошибок. Нажмите cmd+пробел, чтобы открыть прожектор, и введите какой-нибудь текст, например «a». Обратите внимание, что прямо под строкой поиска у Spotlight есть индикатор выполнения, который говорит, что он индексирует, хотя он потребляет всего <100 КБ/с для чтения (непостоянно, иногда требуется 5 минут, чтобы появиться даже после его запуска). Не уверен, что здесь происходит, возможно, куча очень маленьких файлов, но в любом случае дождитесь завершения. После завершения он должен приближаться к 0 чтению в секунду.
  9. Удаляйте добавленные папки одну за другой, повторяя процесс ожидания, пока индикатор выполнения и скорость чтения с диска не станут равными нулю. Мои удаления по порядку: приложения, пользователи, тома, .vol, bin и т. д., ядра, tmp, Unreal Engine, VirtualBox, opt, Shared, sbin и т. д. Потребовалось около часа на каждую добавленную папку, чтобы вернуться к чтению <100 КБ / с. Наслаждаться!

У меня Apple M1, и у меня нет подключенного внешнего жесткого диска. У меня есть папка на рабочем столе, которая включает все мои проекты NodeJS. Поскольку это рабочий каталог, и из него постоянно добавляется/удаляется множество файлов и папок, я включил его в список, чтобы предотвратить его поиск прожектором:

Spotlight >> Конфиденциальность >> Запретить Spotlight поиск в этих местах

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

Удачи...

К вашему сведению: хотя это предотвратит появление файлов из этих каталогов в результатах поиска, к сожалению, это не помешает mds_stores сканировать каталоги. Вы можете проверить это самостоятельно, добавив каталог на вкладку конфиденциальности, а затем в терминале или Finder скопируйте файлы, запустив «sudo fs_usage -w -f filesys mds_stores» (как в ответе AnthonyMetzidis) — вы увидите активность. Я упоминаю об этом только потому, что этот факт немного скрыт в ответах на ответ.

Перепробовав все, что есть в сети и на форумах, и ничего не получилось - умный парень (Линкольн Адамс) на форуме Apple с той же проблемой сделал сногсшибательное открытие: в его случае (и в моем, и, может быть, в вашем) - это была вызвана кнопкой/расширением Pinterest в Firefox. Попробуйте закрыть Firefox, перезагрузить компьютер и некоторое время использовать другой браузер. Ветка на форумах Apple

если при выполнении команды sudo mdutil -a -i off выяснилось, что прожектор пытается проиндексировать подключенный USB-накопитель объемом один терабайт. Я отключил его и перезагрузил компьютер.

У меня была эта проблема, и она сохранялась даже после отключения поиска в центре внимания. Хотя у меня нет упомянутого выше расширения pinterest, я обнаружил, что закрытие Firefox решило проблему.

Когда вы закрываете Spotlight, щелкая за его пределами, он сохраняет текст, который вы ввели в текстовое поле. Удаление текста успокоило процесс. Мой совет: нажмите Escдва раза, когда закончите с Spotlight. Первый щелчок очищает текстовое поле, второй закрывает Spotlight.

Из того, что я знаю, это число не является 100-процентным использованием, то есть 11,9 и 9,6 не означают, что оно занимает 11,9% и 9,6% всей вычислительной мощности ЦП.

Для двухъядерного процессора 10 в этом столбце означает, что он использовал только 10% ядра, т. е. 5% всего процессора.

Таким образом, для 8-ядерного ЦП при 100% использовании всего ЦП число, показанное для процесса, должно быть 800, а не 100.

Я предполагаю, что ваш Mac представляет собой двухъядерный процессор, 11,9 и 9,6 в сумме не стоят столько, сколько вы думали.

Это должно работать так же, как topкоманда работает в Linux .

Вы сказали: «Я включил много местоположений в настройки конфиденциальности Spotlight».
Вам нужно включить МЕНЬШЕ местоположений, а не больше. Если вы включите больше, это означает, что Spotlight очень занят просмотром их всех.
Вы можете легко перейти в Системные настройки/В центре внимания, чтобы отменить выбор многих местоположений. В частности, снимите флажок «Почта», поисковые системы и другие параметры, зависящие от Интернета.
Выключите и перезапустите после изменения настроек Spotlight.

Вы ошибаетесь, на самом деле у вас это задом наперед, говорит панель конфиденциальности Spotlight, и я цитирую: «Запретить Spotlight искать эти местоположения», поэтому меньшее количество конфиденциальных мест фактически приведет к тому, что Spotlight будет держать BUSIER. Если больше местоположений не отмечено на панели результатов поиска, это будет работать, как вы говорите, но чем больше вы указываете на панели конфиденциальности, тем меньше внимания будет уделяться поиску.
Да, это действительно очень плохой совет. Все, что вы не хотите сканировать, должно быть в конфиденциальности.
На самом деле это смесь. Я понимаю его замешательство. На Search Resultsвкладке нам нужно выбрать меньше категорий для включения. во Privacyвкладке нам нужно добавить еще для исключения.