Почему Mac тормозит, когда подключён внешний диск

Подключение внешнего диска не должно замедлять всю систему, но часто замедляет. Вот что происходит за кулисами и как это исправить.

Вы подключаете внешний диск, и Mac начинает подтормаживать. Finder дольше реагирует. Приложения подвисают. Появляется крутящийся радужный диск. Отключаете диск — и всё возвращается в норму.

Короткий ответ: подключение внешнего диска одновременно запускает индексирование Spotlight, генерацию превью в Finder, запись файлов .DS_Store и проверки Time Machine. Самая частая отдельная причина — Spotlight: отключите его для диска командой sudo mdutil -i off /Volumes/YourDriveName (или через Системные настройки > Siri и Spotlight > Конфиденциальность Spotlight). Сбоящие диски также вызывают системные зависания ввода-вывода; если падение производительности резкое, проверьте состояние SMART в Дисковой утилите.

Так быть не должно. Внешний диск — это просто хранилище. Но macOS относится к каждому подключённому диску как к чему-то, с чем нужно взаимодействовать, и это взаимодействие может тянуть всю вашу систему вниз.

Индексирование Spotlight — главный виновник

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

Spotlight не просто отмечает, что файлы существуют. Он их читает. Он извлекает метаданные из документов, разбирает текстовые файлы, генерирует превью изображений и каталогизирует почтовые архивы. На диске, полном документов, фотографий или медиафайлов, это может быть интенсивной операцией, длящейся часами.

Пока Spotlight индексирует, ресурсы вашего Mac разделены между вашей работой и процессом индексирования. Использование процессора подскакивает. Давление на память растёт. И если внешний диск медленный (например, шпиндельный жёсткий диск, подключённый через USB 2.0), узкое место ввода-вывода может перерасти в общесистемные тормоза.

Решение простое. Добавьте диск в список конфиденциальности Spotlight, чтобы полностью предотвратить индексирование:

Откройте Системные настройки > Siri и Spotlight > Конфиденциальность Spotlight. Добавьте ваш внешний диск в список. Spotlight немедленно освободит диск и больше не будет его индексировать.

Или из Терминала:

sudo mdutil -i off /Volumes/YourDriveName

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

Генерация миниатюр и превью в Finder

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

На быстром внутреннем SSD это происходит быстро, и вы почти не замечаете. На внешнем диске, особенно жёстком, генерация превью может занимать минуты на папку. Пока она идёт, Finder становится вялым.

Чтобы снизить эту нагрузку, переключитесь на режим «Список» (Command-2) или «Колонки» (Command-3) вместо «Значки» или «Галерея». Режимы «Список» и «Колонки» не генерируют полные превью, только значки типов файлов.

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

Проблема .DS_Store

Каждый раз, когда вы открываете папку в Finder, macOS записывает в эту папку файл .DS_Store. Этот файл хранит настройки вида, позиции значков и другие метаданные.

На внутреннем диске это происходит мгновенно. На внешнем диске запись файлов .DS_Store создаёт ввод-вывод. Если вы просматриваете много папок на внешнем диске, Finder постоянно записывает эти крошечные файлы, каждый из которых требует операции записи, которая может застрять на медленном диске.

Для внешних дисков вы можете предотвратить создание .DS_Store на сетевых томах командой:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

К сожалению, во встроенных средствах macOS нет настройки, чтобы предотвратить .DS_Store именно на съёмных USB-дисках. Настройка для сетевых хранилищ не применяется к USB- или Thunderbolt-дискам.

Time Machine проверяет состояние резервных копий

Если вы когда-либо использовали внешний диск для Time Machine, macOS проверяет состояние резервных копий диска каждый раз при подключении. Это включает чтение каталога резервных копий, сравнение его с текущим состоянием системы и определение того, что нужно скопировать.

Для больших историй резервных копий эта проверка может быть ресурсоёмкой. А если Time Machine решит, что пора делать резервную копию, она начинает её немедленно, потребляя и процессор, и ввод-вывод. Это то же связанное с backupd замедление, из-за которого диски Time Machine так сложно извлекать — мы разбираем эту сторону отдельно в материале Time Machine не даёт извлечь диск.

Если вы вывели диск из службы Time Machine, удалите его из списка дисков Time Machine в Системные настройки > Основные > Time Machine. Иначе macOS будет продолжать пытаться использовать его для резервного копирования.

Сбоящие диски вызывают зависания ввода-вывода

Диск с аппаратными проблемами может вызывать общесистемные замедления, которые кажутся несоразмерными тому, что делает диск.

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

Проверьте состояние диска в Дисковой утилите. Посмотрите на поле «Состояние SMART». Если там написано что-либо кроме «Проверено», диск может выходить из строя и вызывать проблемы с производительностью больше, чем можно было бы ожидать.

Совместное использование пропускной способности USB

Если ваш внешний диск делит шину USB с другими устройствами, они конкурируют за пропускную способность. Два USB-устройства на одной шине делят доступную пропускную способность.

Это меньшая проблема с Thunderbolt-доками (у них больше пропускной способности), но может быть значимой с USB-хабами. Жёсткий диск и веб-камера на одном USB-хабе будут работать хуже, чем каждый по отдельности.

Проверьте Информация о системе > USB, чтобы увидеть, к какой шине подключено каждое устройство. Если ваш внешний диск делит шину с другими устройствами, попробуйте переместить его в отдельный порт.

Антивирусы и программы безопасности

Если у вас установлено стороннее антивирусное ПО, оно, скорее всего, сканирует каждый файл на каждом только что подключённом диске. Это сканирование выполняется поверх индексирования Spotlight и генерации превью Finder, утраивая нагрузку на ввод-вывод.

Большинство программ безопасности позволяют исключить определённые тома из сканирования в реальном времени. Добавьте свои доверенные внешние диски в список исключений.

Как сделать внешние диски менее болезненными

Влияние внешних дисков на производительность накопительно. Spotlight, превью Finder, запись .DS_Store, проверки Time Machine и потенциально антивирусные сканирования — всё это наслаивается при подключении диска.

Отключение одного только индексирования Spotlight устраняет самый большой удар по производительности. Кроме того, использование режима «Список» в Finder, удаление выведенных из эксплуатации дисков из Time Machine и проверка состояния диска покрывают большинство сценариев.

Что касается извлечения, медленный диск — это ещё и диск, который сложнее извлечь. Когда системные процессы забиты ожиданием медленного ввода-вывода, они удерживают файловые дескрипторы дольше обычного. Диск, который снижает производительность вашего Mac, как правило, ещё и сопротивляется извлечению — полную картину смотрите в нашем руководстве по устранению ошибки «диск используется» в macOS.

Ejecta помогает со стороны извлечения, определяя, какие именно процессы всё ещё обращаются к диску. Если проблема в Spotlight, вы увидите это сразу и сможете решить, завершать ли его. Никаких догадок, никакого разбора вывода Терминала — только ясный ответ о том, что использует ваш диск и почему ваш Mac мучается.

Если вам не хочется каждый раз обращаться к Терминалу, Ejecta точно покажет, какой процесс блокирует ваш диск, — и позволит завершить его одним кликом прямо из строки меню.

Купить — $9.99