После выхода OS X El Capitan моё отношение к Apple снова начало меняться в положительную сторону. Не знаю что произошло, но «яблочная» компания снова начала делать небольшие шаги в сторону пользователей. Помимо новых, удобных и полезных фишек, новая, — 10.11 версия, обзавелась ещё одной полезной вещью. Особенно полезной она будет для тех маководов, которые до сих пор сидят на компьютерах Mac без штатного SSD, и которые сами производили апгрейд своего iДевайса быстрым SSD накопителем стороннего производителя. Но обо всём по-порядку.

Не трудно догадаться, что речь сейчас пойдёт о вещи под названием TRIM. Я уже не раз поднимал эту тему, но с вашего позволения ещё раз напомню, что же это такое:

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

Иными словами, на системе, где не работает TRIM, твердотельный накопитель со временем (примерно после полного цикла записи всего объёма) станет работать медленнее. На компьютерах Mac, которые изначально поставлялись с SSD накопителем, TRIM работает прямиком «из коробки». А вот для пользователей, которые в свой Mac сами устанавливали SSD накопитель от какого-либо другого бренда, ситуация немного другая. Виду «странной» политики компании, «завести» TRIM в OS X для сторонних SSD’шек оказалось не так уж и просто. Для этого нужно было патчить системный драйвер (KEXT — расширение ядра), и делать это приходилось практически после каждого обновления системы. С выходом OS X Yosemite ситуация ещё немного ухудшилась, так как в OS X 10.10 системные расширения и утилиты стали подписывать цифровой подписью, которая нарушалась при патчинге KEXT’а. Без цифровой подписи ядро операционной системы отказывалось грузить драйвер, без драйвера не запускался накопитель. В итоге операционная система переставала грузиться. Естественно, вскоре было найдено решение этой проблемы в виде специального параметра, который записывался в NVRAM и указывал ядру ОС, что неподписанные драйверы нужно всё равно загружать. В общем, был головняк. Но «Капитан» всё изменил, принеся глоток свежего воздуха маководам-самоделкиным…

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

sudo trimforce enable

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

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 будет активирован и для его повторной активации лезть в систему больше никогда не понадобится:
Проверка состояние команды TRIM в OS X

P.S.: Кстати, такой метод активации команды TRIM работает во всех новых операционных системах, начиная с OS X El Capitan 10.11. И даже добавили в OS X Yosemite начиная с версии 10.10.4.


Понравилось? Поделись с друзьями!
  • Спасибо за информацию о таком лаконичном решении. Использовал на Yosemite 10.10.5

  • То есть эпл пошли навстречу пользователям?
    Теперь можно удалять Trim Enabler?

  • Здравствуйте!
    Позвольте разместить вашу прекрасную статью на моём сайте. Естественно, с указанием первоисточника. Эта тема волнует многих пользователей.

  • Имя, фамилия будем указывать?

  • Спасибо всем хорошим людям!

  • Здравствуйте !
    Есть маленький вопрос …. Как отключить гибернацию в El Capitan ? раньше это была команда » sudo pmset -a hibernatemode 0 » но теперь она не работает , все равно через некоторое время индикатор гаснет и запускается компьютер с кнопки.

    • Приветствую!
      Судя из официальных мануалов ничего не поменялось: гибернация должна отключаться командой:

      sudo pmset -a hibernatemode 0
      

      Возможно дело в этом:

      STANDBY ARGUMENTS
           standby causes kernel power management to automatically hibernate a
           machine after it has slept for a specified time period. This saves power
           while asleep. This setting defaults to ON for supported hardware. The
           setting standby will be visible in pmset -g if the feature is supported
           on this machine.
      
           standbydelay specifies the delay, in seconds, before writing the hiberna-
           tion image to disk and powering off memory for Standby.
      
           autopoweroff is enabled by default on supported platforms as an implemen-
           tation of Lot 6 to the European Energy-related Products Directive. After
           sleeping for  seconds, the system will write a hiber-
           nation image and go into a lower power chipset sleep. Wakeups from this
           state will take longer than wakeups from regular sleep.
      
           autopoweroffdelay specifies the delay, in seconds, before entering
           autopoweroff mode.
      

      Я ж без понятия о какой машине идёт речь ;)
      Casing    :):):)

      • MacMini md388- только чуть модернизированый ,ssd поставил и увеличил оперативную память.
        Решил пока сделать так :

        sudo pmset -a hibernatemode 3
        sudo pmset -a autopoweroffdelay 86400

        Перегрузил.
        Если не пойдет в гибернацию через 5 часов -выполню команду :

        sudo pmset -a hibernatemode 0

        И опять перегружу,может глюк какой.
        :):):)    Casing

  • Все , потестил !
    Раньше как было, когда комп спит- на передней панели мигает индикатор… если гаснет ,то он ушел в гибернацию и запускать надо с кнопки.
    Теперь при обновление на El Capitan индикатор мигает часа два потом гаснет , но при нажатии на клавиатуре он просыпается и все хорошо! Вообщем кажется что компьютер отключен ,но он на самом деле спит . Вот как то так…
    И еще есть маленький вопрос … Есть ли программа которая показывает какой объем информации был уже записан на SSD , вообщем хотелось бы посмотреть » Здоровье » SSD диска.
    Нашел скрипт — только на Mac он наверно не запустить. http://www.jdgleaver.co.uk/blog/2014/05/23/samsung_ssds_reading_total_bytes_written_under_linux.html Хотя написано что для Linux.

    • Программы подобные точно есть, но названия не подскажу. Не интересовался подобным. А скрипт, приведенный по ссылке, должен и под OS X работать. Только для его работы нужна утилита smartctl, которую можно установить с MacPorts:

      sudo port install smartmontools
      

      Casing    :):):)

  • к сожалению не получается активировать TRIM на 10.11.1(MBP 13 8.1 начало 2011), ни через терминал ни через Хамелеон(
    Кто подскажет что делаю не так, в терминале после ввода «sudo trimforce enable» пишет что комплект и перезагружается, но после запуска вылетает синтаксическая ошибка и соответственно в диспетчере не появляется трим.
    Диск sandisck ultra 2, в описании заявлена поддержка, так же в хамелеоне отображается что три поддерживается, единственное что смущает хамелеон пишет «Trim: Apple only».

  • Просветите пожалуйста. После перезагрузки в терминале появилось следующее:
    [Восстановлен 23 дек. 2015 г., 0:06:27]
    Last login: Wed Dec 23 00:06:24 on console
    -bash: /Users/***************/.bash_sessions/CB9517CC-5C38-434B-98A3-08140910E755.session: line 1: syntax error near unexpected token `(‘
    -bash: /Users/***************/.bash_sessions/CB9517CC-5C38-434B-98A3-08140910E755.session: line 1: `echo Restored session: среда, 23 декабря 2015 г. 00:04:54 (MSK)’
    Mac-mini-Tatiana:~ ***************$
    Это как расценивать?!
    Mac mini, не Хак.

  • Точно систему не умрет и не придётся ставить заново при активации трим на стороннем SSD?

    • У меня не умер. Несколько раз на нескольких машинах активировал — всё ОК, полёт отличный.
      Casing    Руслан

  • Спасибо ВАМ огромное, танцы с бубном прекратились))

  • Добрый день!
    Вопрос несколько не по теме, но может быть Вы знаете ответ или место, где его можно посмотреть. У меня Mac Book Pro 13 дм выпуска середины 2009 года с контроллером SATA NVidia MCP79. Никакие попытки подключить к нему SSD не удались. Пробовались два SSD Kingston и SCZ, две OS 10.6.8 и 10.11 во всех комбинациях. Во всех вариантах диск виделся и правильно определялся, но операции с данными (и чтение и запись и форматирование) шли со скоростью 1 мб в минуту. TRIM установлен. Заранее спасибо!

    • Привет!
      Вместо штатного HDD пробовал подключать? Что происходит?
      Casing    Сергей

      • MacBook Pro 13 mid 2009. КОнтроллер Nvidia MCP79. Подключал Kingston suv300s37a/120G. SSD был поставлен на место старого HDD. Пробовал проводить установку системы с родного DVD-диска, с установочной флэшки (El Capitan), сетевую установку со скачиванием образа с серверов Apple, клонировать систему со старого диска на SSD… Все безрезультатно. В разные моменты виснет: после перезагрузки, во время копирования установочных файлов, во время загрузки. Так и не победил :(
        Павел    Casing

    • OCZ Trion не совместимы c чипсетом вашего макбука.
      seycom    Сергей

  • Прошу прощения, у меня МакБукПро (середина 2014), и поставлялся он изначально с SSD.
    Информации о системе все как у Вас, т.е.:
    Поддержка TRIM: Да
    Означает ли это, что ничего мне включать не нужно? Поскольку термин «поддержка» для меня значит «возможность использования», а не что эта возможность задействована. Спасибо за ответ!

    • Емкость: 251 ГБ (251 000 193 024 Б)
      Модель: APPLE SSD SM0256F
      Ревизия: UXM2JA1Q
      Серийный номер: S1K4NYAF820735
      Очереди собственных команд: Да
      Глубина очереди: 32
      Съемный носитель: Нет
      Внешний накопитель: Нет
      Название BSD: disk0
      Средний тип: Твердотельный
      Поддержка TRIM: Да
      Тип карты разделов: GPT (Таблица разделов GUID)
      Статус S.M.A.R.T.: Проверен
      Сергей    На свой коментарий

    • Если Mac изначально поставлялся с SSD, то ничего активировать не нужно. Apple автоматически использует необходимые параметры для своих «родных» комплектующих/устройств.
      Casing    Сергей

  • off-top: блин! у вас и магазин есть… жаль что раньше это не обнаружил! (

  • Можно ли активировать ТРИМ с кучей файлов и пр. на борту? Я установил SSD в старый макбук уже давно, а про трим узнал недавно. Могу я просто активировать его, ничего не переустанавливая и быть уверен, что все останется по-прежнему?

  • Спасибо за информацию. Сработало)

  • Приветствую. у меня не получается ввести пароль!

    • Привет!
      Во-первых, для того, чтобы включить TRIM нужно работать от лица администратора (sudo …), а для этого нужно, чтобы на админа обязательно стоял пароль (если пароль стоять не будет, то команду от sudo выполнить не удастся). Второй момент: при вводе пароля в окне терминала вообще никак не отображается его ввод (ни точками, ни звёздочками). То есть, его нужно вводить «вслепую».

      Пробуй, должно получиться ;)
      Casing    макбукин

  • Спасибо, все получилось!!!

  • Приветствую!!

    У меня Макбукпро 13′ 2012.
    Родной HDD полетел, вот решил сразу SSD поставить купил SAMSUNG 850 EVO 250Gb.
    Разобрал поставил как нужно, диск видит, но не фарматирует, не разделяет. Выходит ошибка : «Не удалось стереть данные с тома для предотвращения случайной проверки в будущем»
    А когда через USB подключаю все работает и ОС ставится!

    Уже даже незнаю что делать!

    Подскажите кто что знает.

    • Привет. Странно. Перед переразбивкой диска его демонтировали?
      Casing    Шах

      • А как это сделать на макбуке?

        я перетыкал все в дисковой утилите на все выдает ошибку.

        Я отослал SSD обратно поставщику мне перезвонили и сказали что все нормально работает, сказали нужно отформатировть.
        А может ли это быть чтото со шлейфом ?
        Шах    Casing

        • А SSD ставился вместо штатного или вместо DVD привода через OptiBay?
          P.S.: Может и в шлейфе проблема.
          Casing    Шах

    • У меня было то-же самое. В интернетах говорят, что это шлейф плохой и не тянет 6G/s. У меня решилось подключением в другой разъём (вместо cd, а не штатного hdd) — там шлейф совсем короткий — может по-этому лучше работает. Ну некоторые ещё шлейф новый покупают.
      lumumba    Шах

  • а что делать если стоит 10.10.2 и нет возможности обновиться — как то по другому можно активировать Trim?

  • Спасибо тебе добрый человек! Все понятно и доступно без танцев с бубном (я про всякие трим-включалки).

  • sudo: trimforce: command not found
    OS X 10.10 (14A389)

    • Внизу статьи: «P.S.: Кстати, такой метод активации команды TRIM работает во всех новых операционных системах, начиная с OS X El Capitan 10.11. И даже добавили в OS X Yosemite начиная с версии 10.10.4
      Casing    Sergey