ChinaPhone может получать партнерскую комиссию за покупки, сделанные по ссылкам на нашем сайте.
Были разные сообщения о том, что фоновый процесс mediaanalysisd вызывал чрезмерную загрузку ЦП в macOS при сканировании фотографий. Вот что это такое, что он делает и как его остановить.
В течение прошлого года в Интернете бурлили дискуссии о том, анализирует ли Apple в тишине библиотеки фотографий пользователей, чтобы отправить их в правоохранительные органы. Независимое тестирование без тени сомнения подтвердило, что это не так.
Но из различных источников сообщалось о высокой загрузке ЦП при медиаанализе. Эта фоновая обработка может нагрузить процессоры Mac и замедлить работу вашего компьютера в разной степени. Даже при отсутствии каких-либо молчаливых отчетов Apple, mediaanalysisd просто сканирует библиотеки фотографий для целей ИИ, таких как распознавание лиц и индексация Spotlight.
В любом случае вы можете отключить mediaanalysisd, чтобы предотвратить чрезмерное использование ЦП.
Для этого вам сначала нужно отключить защиту целостности системы macOS (SIP).
Как отключить защиту целостности системы в macOS
Чтобы отключить SIP в macOS, следуйте инструкциям на веб-сайте Apple. SIP-страница.
Apple предупреждает, что отключение защиты целостности системы следует выполнять только временно, и после этого ее следует повторно активировать как можно скорее. Компания также заявляет, что может сделать ваш компьютер «уязвимым для вредоносного кода».
Отключение SIP включает перезагрузку Mac в режиме восстановления и ввод в Терминале:
Вам может понадобиться или не понадобиться разблокировать Агенты запуска сам каталог, изменив права доступа к каталогу. Просто не забудьте вернуть права доступа к тому состоянию, в котором они были, когда закончите. Для этого вы можете использовать стороннюю утилиту, такую как BatchMod:
Не меняйте права пользователя или группы для папки, только -rxw разрешения. Не забудьте вернуть их в исходное состояние, когда закончите.
Далее удалите /Система/Библиотека/LaunchAgents/com.apple.mediaanalysisd.plist в Терминал набрав:
sudo rm -R /System/Library/LaunchAgents/com.apple.mediaanalysisd.plist
com.apple.mediaanalysisd.plist от Apple — это службы запуска. демон загрузочный файл, который сообщает macOS, где найти двоичный файл mediaanalysisd и как его запустить. После удаления com.apple.mediaanalysisd.plist macOS больше не будет запускать его при запуске или с перерывами.
Если macOS автоматически регенерирует файл .plist, вам нужно будет отредактировать файл напрямую, чтобы установить com.apple.mediaanalysisd.photos настройка на НЕТ. По умолчанию ДА.
Имейте в виду, что редактирование этого файла может изменить поведение вашего Mac или даже сделать некоторые части нефункциональными, поэтому делайте это на свой страх и риск.
Вы также можете попробовать изменить значение com.apple.mediaanalysisd.realtime с YES на NO. Фактически, вы можете попробовать отключить все настройки MachServices, кроме двух настроек Homekit. Но опять же, в настоящее время неясно, что делает каждый из них.
Но опять же, имейте в виду, что изменение этих настроек отключит некоторые функции macOS, а именно индексирование Spotlight и выделение текста в фотографиях и предварительном просмотре.
Вы также можете поиграть с Включить транзакции параметр, хотя пока неясно, указывает ли это значение демону использовать сетевые транзакции или нет.
Plist-файлы Apple просто XML файлы. Итак, если вы знаете XML, вы можете использовать любой текстовый редактор или программу Apple. Xкод средство разработки для их изменения.
При редактировании файлов .plist в Xcode вы получаете встроенный редактор, который преобразует XML в таблицу редактируемых полей с типами данных и предустановками для некоторых типов в центральном столбце:
.plist также дает нам представление о том, где на диске в macOS находится настоящий двоичный файл демона. В поле «ProgramArguments»: в «Item 0» мы видим значение:
/System/Library/PrivateFrameworks/MediaAnalysis.framework/Versions/A/mediaanalysisd
Таким образом, сам бинарный файл mediaanalysisd находится внутри пакета MediaAnalysis.framework. Непонятно, к чему приведет отключение этого пакета, но делайте это на свой страх и риск, поскольку мы не определили влияние удаления этого фреймворка из системы.
Заглянем в .plist LaunchEvents
Изучение LaunchEvents->com.apple.xpc.activity словаря в файле .plist мы видим еще несколько интересных элементов. На самом деле этот словарь содержит пять пунктов анализа фотографий:
- com.apple.mediaanalysisd.photosanalysis
- com.apple.mediaanalysisd.photos.visualsearch
- com.apple.mediaanalysisd.photos.face
- com.apple.mediaanalysisd.photos.maintenance
- com.apple.mediaanalysisd.photos.ocr
XPC (иногда называемая IPC) — это технология межпроцессного взаимодействия Apple, с помощью которой приложения могут взаимодействовать друг с другом через службы XPC, в том числе по сети.
Очевидно, что задача com.apple.mediaanalysisd.photos.ocr используется для преобразования слов на изображениях в текст как для выделения, так и для Spotlight.
Но в полной мере то, что делают com.apple.mediaanalysisd.photosanalysis и com.apple.mediaanalysisd.photos.maintenance, до сих пор неизвестно.
Поле «ExpectedDuration» каждого элемента com.apple.xpc.activity — это время выполнения задачи в секундах. Таким образом, “3600” будет 60 минут – один час.
Также интересны поля «Приоритет» и «Интенсивность ЦП». Неясно, как установка для поля CPUIntensive значения NO повлияет на производительность системы, и документации Apple по этому вопросу очень мало.
Поле «Интервал» — это время между процесс запускается, тоже за секунды. В случае com.apple.mediaanalysisd.photosanalysis это значение равно 7200, что означает 120 минут.
Поле Interval для службы com.apple.mediaanalysisd.photos.maintenance по умолчанию установлено на 86400, что означает, что она запускается один раз каждые 24 часа.
Имеются также поля, указывающие, повторяется ли задача, выполняется ли она во время экранных заставок и выполняется ли она во время PowerNap.
Заключительные мысли и дополнительная информация
Большая часть архитектуры демона macOS управляется фоновым демоном, называемым запуск который управляет запуском, работой и выходом из демонов. Вы можете узнать больше о launchd в Терминале, используя справочную страницу:
man launchd
и нажав Возвращаться.
Есть еще одна команда терминала, launchctl, которая взаимодействует с launchd для управления демонами и фоновыми процессами. У него также есть справочная страница для использования и дополнительной информации.
В Терминале вы также можете просмотреть все запущенные процессы (приложения и демоны) на вашем Mac, набрав вершина команда:
Более простой и понятный способ — использовать приложение Apple /Applications/Utilities/Activity Monitor. Введя «медиа» в поле поиска, вы увидите использование mediaanalysisd:
Если вы дважды щелкните имя процесса в Мониторе активности, вы получите окно с более подробной информацией о процессе:
Под Открытые файлы и порты tab мы также можем увидеть немного больше о том, где mediaanalysisd взаимодействует с файловой системой. Мы также видим, что он использует несколько других фреймворков Apple:
- CoreNLP.framework
- DataDetectorsCore.framework
- Лексикон.фреймворк
- MetalPerformanceShaders.framework
Из этого журнала мы также узнаем, что в системе есть еще один загадочный демон Apple: analyticsd. Существует man-страница analyticsd, но в ней мало информации и просто говорится, что она используется для «диагностики».