Недавно я выполнил чистую установку Yosemite (10.10) на моем MBP 4 ГБ 2010 года, но теперь у него так много памяти из-за ненужных запускающих демонов / агентов / служб, что это вызывает частые пляжные игры; чрезмерная нагрузка на память.
Это не дубликат ; Я исследовал man-страницы/документы по launchctl, launchd, руководствам Yosemite/Sierra whatsnew, AskDifferent, SO, Apple.com, многим блогам/форумам энтузиастов Mac и многим другим сайтам уже больше месяца; см. комментарии ниже для примеров многих поисковых запросов по ключевым словам Google, которые я пробовал; Кроме того, ответ очень зависит от версии MacOS. Это сводит меня с ума.
Я ищу минимальную конфигурацию: никакой херни типа iCloud, iTunes и т. д. Только абсолютный минимум, необходимый для запуска ОС. Ясно, что такие вещи, как «CloudPhotosConfiguration», не нужны. (По причинам, которые мы не будем здесь рассматривать, нет особого экономического смысла обновлять 8 ГБ ОЗУ + SSD).
Вопрос: Как узнать, какие демоны/агенты/службы запуска я могу безопасно отключить на моем MBP середины 2010 года с 4 ГБ памяти под управлением Yosemite 10.10?
Монитор активности не показывает явных китов, хотя использование системной памяти при запуске Safari > при запуске Chrome. Ниже приведен дамп launchctl
элементов со статусом -44 (убит из-за нехватки памяти). Основываясь на чтении блогов, некоторые из них печально известны (например, com.apple.bird), некоторые считаются ненужными, некоторые нельзя безопасно остановить:
clear; launchctl list | awk '($2 == "-44") { print $3 }' | sed -e 's/com.apple.//g' | sort -f
com.apple.
accountsd, AirPlayUIAgent, bird, CalendarAgent,
CallHistoryPluginHelper, CallHistorySyncHelper, cfprefsd.xpc.agent,
cloudd, CloudPhotosConfiguration, cloudphotosd,
coreservices.appleid.authentication, coreservices.uiagent,
DataDetectorsDynamicData, icloud.fmfd, iconservices.iconservicesagent,
imdpersistence.IMDPersistenceAgent, InputMethodKit.UserDictionary,
internetaccounts, MailServiceAgent, Maps.mapspushd, nsurlsessiond,
nsurlstoraged, pbs, photolibraryd, pluginkit.pkd, printtool.agent,
recentsd, secd, secinitd, security.cloudkeychainproxy3, soagent,
spindump_agent, tccd, telephonyutilities.callservicesd
В надежде, что следующее позволяет отключить. Apple-Bloat — настолько распространенная проблема, что у нее должна быть зарегистрирована собственная торговая марка. Особенно в обстоятельствах или средах, требующих максимальной мощности процессора, минимальной задержки или когда пользователям приходится обходиться тем оборудованием, которое у них есть. Сценарии, связанные со звуком, являются наиболее распространенными.
Не так много можно отключить с помощью доступных графических инструментов. Так что это отличный вопрос для начала. Но эти обстоятельства должны быть четко определены. Отключение почти всего может также отключить всю систему. Подготовьте загрузочные резервные копии! Ничего не меняйте, пока не узнаете, как это отменить. Некоторые из следующих советов могут быть неудобными из-за их последствий.
Конечно, это самый первый шаг к удалению всего, что вам не нужно, но не от Apple — сначала. Каждое kext
, каждое LaunchDaemon
, каждое приложение и каждая программа, которая не является строго необходимой, должны быть удалены. Очистите соответствующие папки в /Library/
и ~/Library/
. Это также означает, что Помощник по миграции теперь ваш враг, а чистая установка — ваш союзник.
В условиях очень ограниченного объема памяти также рекомендуется ограничить использование рабочего стола в качестве места для хранения. И ваше использование Finder.app. Наличие большого количества значков на рабочем столе Finder приводит к увеличению потребления памяти. Это означает, что Искатель также должен уйти: defaults write com.apple.finder QuitMenuItem -bool true
не беспокойтесь. Это просто добавление обычного меню выхода в ваш любимый файловый менеджер. Теперь, когда Finder не нужен, его можно закрыть, он остается закрытым и освобождает память. Когда это необходимо для операций, связанных с файлами, вы можете вернуть его, просто щелкнув первый значок Dock.
Вы должны составить полный список того, что, как вы знаете, «есть», но вы уверены, что вам это не нужно. Вы должны составить список вещей и функций/услуг, которые вам действительно небезразличны. Оба списка должны быть проверены позже.
Вы проведете довольно много времени в Мониторе активности и Консоли. Это утомительный процесс. После того, как вы прошлись по списку запущенных процессов, вы должны исследовать все, что вы либо не распознаете, либо признаете, скорее всего, нежелательным. Найдите их и выполните сетевой поиск по имени процесса.
Поскольку это не вики с неограниченным пространством, я не могу перечислить каждый процесс, оцененный одним или многими как «раздутый» или «можно безопасно отключить, если это нежелательно». Это также слишком сильно зависит от того, что еще должно быть выше «iCloud».
Apple действительно плохо документирует эти вещи для среднего конечного пользователя, просто сидящего за своей системой. Похоже, что macOS предпочитает подход «внутри нет частей, обслуживаемых пользователем». Таким образом, вы должны тщательно оценить то, что вы найдете в сети. Постарайтесь обнаружить бойкие анализы (или, по крайней мере, бойкие резюме/рецензии), которые содержат мало деталей, кроме маханья руками, как Apple знает лучше.
Что смешного в этом? Apple действительно знает лучше. Они просто предпочитают скрывать это знание. Это частично на их веб-сайте вместо того, чтобы давать вам всплывающие подсказки и установленную документацию. Те части, которые доступны там, далее в формате, который требует некоторой обработки конечным пользователем. Попытайте удачу в Apple, например: Daemons and Services Programming Guide . Вы можете и должны, конечно, перепроверить их на форумах пользователей (подготовьте большую солонку, чтобы иметь достаточное количество зерна). Или этот самый сайт или другие. Просто помните о предполагаемом уровне качества каждого источника.
Большинство запущенных и отображаемых в Activity Monitor процессов можно (принудительно) завершить. Как правило, это вполне безопасно делать в условиях тестирования, когда в фоновом режиме не открыто никакой важной работы или что-то в этом роде. (Применяются предостережения!) Таким образом, вы можете тестировать один за другим и эмпирически видеть, что происходит:
Если ничего неожиданного не произойдет, вы можете перейти к следующему шагу.
Там был отличный список известных процессов и их краткое объяснение под названием «Знай свои процессы Mac OS X». К сожалению, это исчезло, но все еще видно на archive.org: https://web.archive.org/web/20170222052540/http://triviaware.com/macprocess/all Это, конечно, означает, что он немного устарел для начала. с, но все еще более актуальный, чем большинство популярных сегодня поисковых систем. Поскольку вы находитесь в Йосемити, текущая ситуация вас не беспокоит.
Теперь ознакомьтесь с launchd
и launchctl
. Первый - это демон, который загружает всю "эту хрень" (ваши слова), а со вторым можно взаимодействовать с launchd и управлять им.
Видя, что уничтожение процесса не оказывает вредного воздействия на ваши нужды, вы можете дать указание системе отключить эту «службу». Вы можете использовать launchctl
для этого или любую из программ, доступных для этого с помощью графического интерфейса, например
Посмотрите на работу и попытайтесь понять, что она делает. Остановите работу и посмотрите, что произойдет. Затем отключите задание и посмотрите, что произойдет. Делайте паузы между ними и часто перезагружайтесь, чтобы убедиться, что вы не напортачили слишком много, что может понадобиться во время загрузки или только один раз.
Справиться с совершенно неожиданными последствиями может быть сложно, поскольку иногда приходится устанавливать действительно странные связи. Нет необходимости в Airplay? Снимите все флажки в графическом интерфейсе. Отключите все, что имеет в названии airplay. Легкий. После этого все работает как положено. За исключением того, что через некоторое время вы замечаете, что iTunes продолжает падать при запуске. iTunes тоже не нужен? Хороший. Все еще хотите использовать iTunes? Плохо, плохо. Очень жаль. Вернитесь к списку намеренно отключенных служб и включите их одну за другой; чтобы наконец узнать, что iTunes настаивает на SystemDaemon с именем com.apple.AirPlayXPCHelper. Ожидать неожидаемое.
Чтобы дать вам преимущество для вещей, которые считаются раздутыми: в сети есть много коллекций, которые пытаются выполнить то, что вы хотите. Следующее предназначено в качестве источника для чтения и анализа для вдохновения. Не просто применяйте их! Читайте документы для них! Выберите то, что кажется необходимым, один за другим. (Поскольку вы все равно должны документировать свои собственные выводы — почему бы не опубликовать их?)
Они не полностью применимы к каждой версии OS X или macOS, некоторые из них имеют разные версии, которые все еще находятся в сети. Но, похоже, нужно следить только за удаленными или вновь введенными демонами.
Минимальные системы, оптимизированные для аудио:
«Отключить кучу #$!@ в Sierra (версия 2.1):» https://gist.github.com/pwnsdx/d87b034c4c0210b988040ad2f85a68d3
Практическое руководство по защите macOS: https://github.com/drduh/macOS-Security-and-Privacy-Guide
Актуальный преемник osxlockdown: https://github.com/kristovatlas/osx-config-check
«Простой сценарий оболочки для устранения проблем с конфиденциальностью macOS и удаления в основном бесполезных вызовов macOS в Купертино»: https://github.com/karek314/macOS-home-call-drop
Здесь действительно применимы только небольшие порции, но все же некоторые уникальные элементы: https://gist.github.com/brandonb927/3195465
Также следует отметить «Выгрузка и отключение нежелательных агентов и демонов в OSX»: http://tech.masterofsql.com/os-x/unload-disable-unwanted-agents-daemons-os-x.html
Теперь пусть приходят отрицательные голоса. Надеюсь это поможет.
Ubiquity
также являются частью этой посылки. Поэтому сложно определить, что именно Apple (или вы) относите к iCloud.
без холма
без холма
без холма
смки
без холма
смки