Включить trim mac os

Обновлено: 06.07.2024

TRIM — это ATA команда, которая позволяет операционной системе оповестить твердотельный накопитель о неиспользуемых блоках, информация на которых может быть удалена или повторно перезаписана. Ввиду того, что на низком уровне операции записи/перезаписи на SSD накопителях существенно отличаются от таковых на HDD накопителях, обычные методы операционных систем для удаления, форматирования или перезаписи информации приводили к прогрессирующему ухудшению производительности операций записи на твердотельных накопителях. Введение поддержки команды TRIM позволило операционной системе очищать неиспользуемые ячейки перед тем, как в них будет произведена запись информации. Это позволило существенно уменьшить время доступа к данным и предотвратить процесс ухудшения производительности SSD накопителей.

Что такое TRIM

У электронных (SSD) дисков есть отличие от магнитно-механических (HDD) которое влияет на скорость записи. В HDD дисках запись выполняется "поверх" старых данных. Блоки диска, которые ранее содержали данные, а затем эти данные были удалены, просто помечаются как свободные. И когда нужно выполнять запись, контроллер HDD сразу записывает новые данные в эти свободные блоки.

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

seagate pulsar ssd

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

Поэтому при использовании SSD дисков возникает эффект "деградации производительности". Когда диск новый и все блоки флэш-памяти чистые тогда скорость записи очень высокая, паспортная. Но после того как диск будет полностью заполнен и после этого часть файлов будет удалена, повторная запись будет происходить на более низкой скорости. Из-за того, что контроллеру диска придется очищать ранее использованные блоки флэш-памяти, перед записью туда новых данных.

Падение скорости записи в повторно используемые блоки флэш-памяти может быть очень высоким. До значений близких к скорости записи HDD дисков. При тестировании SSD дисков часто даже проводят отдельную проверку на снижение скорости записи в повторно используемые блоки.

Для борьбы с этим явлением, в новые ОС добавлена дисковая команда ATA TRIM. Драйвер файловой системы при удалении файла отправляет контроллеру SSD диска команду TRIM. По этой команде контроллер SSD диска очищает освобожденные блоки флэш-памяти, но делает это в фоновом режиме, в перерывах между операциями чтения и записи.

Иными словами, на системе, где не работает TRIM, твердотельный накопитель со временем (примерно после полного цикла записи всего объёма) станет работать гораздо медленнее. На компьютерах Mac, которые изначально поставлялись с SSD накопителем, TRIM работает прямиком «из коробки». А вот для пользователей, которые в свой Mac сами устанавливали SSD накопитель от какого-либо другого бренда, ситуация немного другая. Виду «странной» политики компании Apple, «завести» TRIM в OS X для сторонних SSD оказалось не так уж и просто. Для этого нужно было патчить системный KEXT (расширение ядра, в простонародье — драйвер), и делать это приходилось практически после каждого обновления системы.

С выходом OS X Yosemite ситуация ещё немного ухудшилась, так как в OS X 10.10 системные расширения и утилиты стали подписывать цифровой подписью, которая нарушалась при патчинге KEXT’а. Без цифровой подписи ядро операционной системы отказывалось грузить драйвер, без драйвера не запускался накопитель, система переставала грузиться. Но и для этого было найдено решение в виде специального параметра, который записывался в NVRAM и указывал ядру ОС, что неподписанные драйверы нужно всё равно загружать. В общем, был головняк. Но «Капитан» всё изменил.

Начиная с версии OS X 10.11 El Capitan для активации TRIM на всех SSD накопителях достаточно выполнить одну единственную команду, после которой TRIM будет работать штатно и всегда, без всяких патчингов и манипуляций с системой. Запускаем Терминал и выполняем команду:

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

This tool force-enables TRIM for all relevant attached devices, even though they have not been validated for data integrity while using that functionality. By using this tool to enable TRIM, you agree that Apple is not liable for any consequences that may result, including but not limited to data loss or corruption.

С уверенностью в 99,999% можно игнорировать предупреждение и нажать клавишу Y и Enter . После этого система перезагрузится. В итоге, после перезагрузки, TRIM будет активирован и для его повторной активации лезть в систему больше никогда не понадобится:

fed36a66cb294217148b745e9fec1769

Удаленные данные и их восстановление

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

Так как же влияет Trim на скорость записи?

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

Проще говоря, скорости записи зависят от количества свободного места на SSD диске. Если же ваш диск практически полностью занят, то и скорости записи упадут даже в том случае, если вы пользуетесь Trim. А в том случае, если у вас не менее 20-30% емкости SSD диска остаются без разметки (unallocated disk space), то можете обходиться и без использования функции Trim. Контроллер SSD диска будет применять неиспользуемое место под разделы для того, чтобы выровнять скорость записи.

Функция Trim имеет те полезные свойства, что действительно дает возможность поддержать максимально высокую скорость записи, но только при двух условиях:

поддержка TRIM для SSD в Mac OS

Тема будет актуальна в первую очередь владельцам старых маков, когда нет возможности установить OS X Yosemite (10.10.4) или новее, но вы решили дать своему компьютеру или ноутбуку вторую жизнь, заменив обычный диск на SSD. Впрочем, для владельцев более свежих устройств тоже найдется полезная информация, если вы самостоятельно делали апгрейд и установили сторонний SSD.

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

Поддержка TRIM появилась с выходом Windows 7, а в Mac OS X начиная с версии 10.6.6. Однако Apple и тут отличилась, включив поддержку данной команды исключительно для оригинальных дисков, поставляемых вместе с компьютерами Mac, любые сторонние диски этой возможности оказались лишены.

Как такое возможно? Дело в том, что за работу команды TRIM в операционной системе отвечает драйвер, в Mac OS эта роль возложена на расширения ядра — kext (kernel extension) IOAHCIFamily.kext. Тут то Apple и подложила свинью любителям самостоятельно апгрейда, проверяя наличие строки «APPLE SSD» в прошивке твердотельного накопителя. Если подобной метки не находилось, то досвидули — никакого TRIM’а для этого накопителя не будет.

Счастье пришло с выходом OS X Yosemite (10.10.4), где поддержка TRIM стала доступна для любых сторонних SSD (по умолчанию команда может быть отключена). Для ее активации достаточно в терминале ввести всего одну команду:

Еще раз обращаю внимание, что активировать TRIM необходимо только при установке сторонних SSD в Mac. Если накопитель был установлен изначально, то он работает в оптимальном режиме по умолчанию.

Назревает вопрос, откуда вдруг такая щедрость? Дело в том, что с новыми моделями ноутбуков Apple нашла другой путь навязывать свои фирменные комплектующие — каждое новое поколение современных Macbook теперь имеет собственный уникальный разъем подключения SSD, но об этом расскажу в одной из следующих статей.

Активация TRIM в Mac OS X (ниже 10.10.4) для любых SSD накопителей

Активировать TRIM для изначально неподдерживаемых SSD накопителей в MacOS всё-таки можно путём некоторой правки системного кекста IOAHCIFamily.kext, который отвечает за поддержку TRIM. Суть метода в следующем — в бинарнике кекста строчка «APPLE SSD» (встречается в двух местах) заменятся нулями. Таким образом логика его работы меняется на следующую: если искомая строка равна «ничего», то активируется TRIM для этого накопителя.

Данный метод придуман не мной, описание можно найти в интернете. Я лично проверял работу этого метода на паре Mac mini, так что всё реально работает. Команды удобно выполнять в терминале копированием-вставкой, так вы избежите ошибок.

  1. Получаем права администратора (root’а):
  2. Делаем резервную копию оригинального драйвера: cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage-orig
  3. Патчим бинарный файл в кексте IOAHCIFamily.kext.

а) Для Mac OS X Snow Leopard и Lion (10.6.6-10.7.4), а так же Mountain Lion 10.8.0:

perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00).(\x00\x51)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

б) Для OS X Lion и Mountain Lion (10.7.5 и выше, 10.8.1 и выше):

Проверить заработал ли TRIM довольно легко, достаточно посмотреть информацию о системе, выбрав пункт Последовательный-ATA (Serial-ATA), где увидим строку «Поддержка TRIM».

проверка состояние команды TRIM в Mac OS X

Хочу отметитесь, что повторно выполнять патч нужно при любом обновлении Mac OS X (OS X 10.7.1 > 10.7.2 > 10.7.3 > . ), но думаю это не актуально. Восстановить оригинальный kext всегда можно из резервной копии, которую мы делали ранее:

sudo mv /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage-orig /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

После чего снова чистим кеш и перезагружаемся:

kextcache -system-prelinked-kernel; kextcache -system-caches

Яндекс.Дзен и узнавайте первыми о новых материалах, опубликованных на сайте.

Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.

Как включить поддержку TRIM для сторонних SSD дисков в macOS (OS X)

Что же такое TRIM?

TRIM (англ. to trim — подрезать) — это команда интерфейса ATA, позволяющая операционной системе уведомить твердотельный накопитель о том, какие блоки данных уже не содержатся в файловой системе и могут быть использованы накопителем для физического удаления. Функция TRIM позволяет существенно уменьшить время доступа к данным на диске и предотвратить процесс ухудшения производительности SSD накопителей, все это происходит за счет оптимального распределения свободного пространства по накопителю

К чему все это предисловие?! Если на вашем Mac стоит оригинальный SSD (установлен с завода), то на нем автоматически включена поддержка TRIM, а если Вы решили сами проапгрейдить старый компьютер (iMac, MacBook, Mac mini) или заменить имеющийся накопитель на размер побольше, то функция TRIM в операционной системе будет выключена.

Как включить поддержку TRIM для сторонних SSD дисков в macOS (OS X) Yosemite, El Capitan, Sierra, Mojave

Ранее активация команды TRIM для сторонних накопителей SSD занимала немало времени и не всегда заканчивалась успехом, но начиная с OS X 10.10.4 все изменилось. В новых версиях операционных систем macOS, начиная с Yosemite, Apple добавила возможность включения поддержки TRIM на неоригинальных, произведенных не для Mac твердотельных дисков.

Итак, чтобы включить поддержку TRIM для установленного накопителя, нужно запустить приложение «Терминал» ( Программы → Утилиты ) и ввести комманду:

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

Как включить поддержку TRIM для сторонних SSD дисков в macOS (OS X)-1

После перезагрузки откройте программу «Информация о системе» ( Программы → Утилиты ), перейдите SATA/SATA Еxpress и выберите SSD диск, в строчке «Поддержка TRIM» у вас должна появится надпись Да

Как включить поддержку TRIM для сторонних SSD дисков в macOS (OS X)-2

Обраните внимание! Процедуру активации TRIM нужно будет выполнять каждый раз при установке новой операционной системы macOS.

Для более старых версий OS X используйте программу TRIM Enabler, правда программа платная ($10), но очень удобная. Удобство программы состоит в том, что для включения поддержки TRIM нужно передвинуть бегунок в положение ON , ввести свой пароль и перезагрузить Mac.

Как включить поддержку TRIM для сторонних SSD дисков в macOS (OS X)-3

Хотите получать больше полезной информации? Подписывайтесь на наши страницы в соц.сетях: Facebook, Twitter и Вконтакте, а также делитесь этой и другими статьями со своими друзьями

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


Выпуском новых версий своей системы Apple радует не только жаждущих бесплатного обновления пользователей более старых Mac, но и тех из них, кто решил сделать апгрейд устройства и установить вместо медленного винчестера современный твердотельный накопитель. Речь идёт, конечно, об отличных от фирменных «яблочных» SSD-дисках, ведь начиная с 10.10.4 для них добавлена возможность включить поддержку метода TRIM, с помощью которого операционная система сообщает накопителю о уже удаленных из таблицы файлов данных. Этой цели в OS X служит команда trimforce.

Прежде, чем продолжить, настоятельно рекомендуем выполнить резервное копирование данных при помощи Time Machine или любым удобным вам способом. Также напоминаем, что выполнение операции производится на ваш страх и риск: корпорация Apple не может гарантировать работу инструмента для аппаратного обеспечения сторонних производителей, которое не прошло должного тестирования на предмет совместимости с TRIM, и, как следствие, сохранность хранимых на нём данных может оказаться под вопросом. Об этом честно уведомляет встроенное предупреждение.

Итак, для того чтобы принудительно включить поддержку TRIM для выбранного накопителя, нам понадобится любимое народными массами приложение «Терминал», расположенное по умолчанию в папке «Утилиты». Далее вводим вот такую команду (потребуется пароль администратора, при вводе не отображаемый на экране).

А вот и тот самый «дисклеймер».



Готовы? Тогда подтверждаем запросы при помощи клавиши [Y]. После успешной процедуры компьютер автоматически перезагрузится c включённой TRIM. Если же вы захотите отключить функцию, делается это при помощи такой команды.

Разумеется, подобные манипуляции требуются не во всех случаях. Например, накопители «яблочного» производства не нуждаются в trimforce, поскольку поддержка TRIM встроена в них изначально, а некоторые сторонние производители применяют вместо неё собственные алгоритмы. Само собой, на жёстких дисках команда также не работает.

Надеемся, этот простой совет поможет дискам прослужить вам как можно дольше. Приятной работы в OS X!

Читайте также: