На прошедшей недавно конференции разработчиков WWDC 2015 анонсировали следующую версию Mac OS X 10.11 El Capitan. При более глубоком знакомстве с новинкой оказалось, что Apple предусмотрела возможность принудительного включения TRIM для SSD сторонних производителей. Ура! Правда выхода новой ОС придется ждать до осени. Но к всеобщей радости уже в текущем обновлении 10.10.4 есть команда trimforce.

Недавно я вдохновившись вот этим постом geektimes.ru/post/200362 соорудил себе Fusion Drive. Диск выбрал Samsung 850 Pro на 128 ГБ. Эффект от добавления SSD был невероятный (70 МБ/с -> 260 МБ/с). Единственное, чего я не стал делать на Mac OS X 10.10 — не стал использовать TRIM enabler для принудительного включения TRIM, ведь для этого пришлось бы вмешиваться в системную политику безопасности. Понадеялся, что в какой-то степени хватит возможностей SSD over-provisioning. С over-provisioning тоже интересная история. У бытовых дисков под эти цели зарезервировано всего 7 % места в отличие от серверных моделей, где резервируется примерно треть объема. Как вариант, можно на бытовом диске создать раздел меньшей ёмкости, высвободив нужное пространство под over-provisioning. Проблема в том, что я не настолько силён в командной строке и по алгоритму создания Fusion Drive не знаю где и что нужно конфигурировать таким образом, чтобы выделить только часть диска.

Месяца через 2-3 отзывчивость компьютера заметно уменьшилась. Запускаю тест и вижу ожидаемую картину:

image

SSD заполнился, команда TRIM не включена, всё плохо.
После команды sudo trimforce enable и перезагрузки компьютера скорость работы быстро приходит в норму:

image

Теперь осталось понять стабильность работы. Пока что несколько часов работы — полёт нормальный.

Перед установкой обновления 10.10.4 я столкнулся с проблемой — App Store не видел существование обновления. Я скачал обновление отдельным файлом с сайта Apple, но установить его все равно не получилось.
Решение проблемы, найденное на форумах Apple:
— Удалить содержимое папки Library/update
— Удалить /Library/Caches/com.apple.SoftwareUpdate/
— Удалить /Library/Preferences/com.apple.SoftwareUpdate.plist
— Перезагрузка
— Обычное обновление через App Store

Комментарии (27)


  1. olegkrasnov
    02.07.2015 03:14
    -5

    Давно читал, что на некоторых сторонних SSD включённый трим делает только хуже, из-за специфичности работы прошивки винта. Потому на своём OCZ-VERTEX4 включать не стал. Кто что скажет на эту тему?


    1. nochkin
      02.07.2015 05:39
      -4

      Когда у меня стоял Vertex 4, то trim включал. Что может быть хуже? SSD ведь не полетить от этого. Проще попробовать. Если нет уверенности, то надо сделать свежие бекапы.


      1. gibson_dev
        02.07.2015 07:56
        -4

        Тем более что с Time Machine это проще простого ;)


      1. olegkrasnov
        07.07.2015 09:58

        Где-то читал, что из-за особенностей прошивки включённый трим способствует деградации винта.


        1. nochkin
          07.07.2015 15:59

          Всех версий прошивок?


          1. olegkrasnov
            08.07.2015 01:42

            Точней из-за особенностей работы контроллера. Щяз поищу инфу на эту тему.


      1. olegkrasnov
        08.07.2015 02:10

        Погуглил, OCZ Vertex 4 имеет контроллер Everest 2. До этого было Vertex 3, там был SandForce. Вот для сандфорса не рекомендовалось включать трим. А для евереста похоже нужен.


        1. nochkin
          08.07.2015 03:01

          Да, про SandForce были отдельные песни. Просто удивился, что проблема осталась на Vertex 4, хотя там другой контроллер уже.
          Получается, что в этом случае проблема с деградацией из-за трима не так актуальна.


          1. olegkrasnov
            08.07.2015 05:49

            Будем надеяться что на эвересте проблемы с тримом нет. Включил, проверю.


  1. zorgrhrd
    02.07.2015 09:38
    -3

    По поводу заглавной картинки, тест от Black Magic у меня показывает
    ~110 — write
    ~450 — read

    а тест от AJA System Test показывает
    ~450 — write
    ~450 — read

    Причем оба показывают эти результаты очень стабильно, с чем это может быть связано:? TRIMEnabler стоит, в hw info показывает что trim включен, на сколько заполнен диск не важно, показания бенчмарков всегда одинаковые, пробовал от 25% заполненности до 75%.


    1. zorgrhrd
      02.07.2015 15:15
      -1

      Может кто то хоть предположение подкинет? Почему так?


      1. Mel
        02.07.2015 15:39
        -1

        Почему не знаю, но попробуйте еще xbench прогнать, к кому ближе результаты покажет :)


  1. vettspace
    02.07.2015 10:49

    Не обязательно ждать до осени, общедоступная бета El Capitan будет уже в июле, думаю к этому моменту TRIM допилят


    1. uzverkms Автор
      02.07.2015 10:54

      Ну сейчас не обязательно ждать потому, что в 10.10.4 уже есть поддержка TRIM. А использование бета-версий — спорт на любителей. Никто не гарантирует как под новой ОС будет работать или не работать сканер или какая-нибудь другая периферия и различное ПО.


      1. DenimTornado
        02.07.2015 16:45
        -1

        А что значит есть поддержка Трим? Он включается сам или надо танцы в консоли, а-ля ваш «sudo trimforce enable»?


        1. DenimTornado
          02.07.2015 17:02

          Ага, почитал, надо именно через trimforce, ну и на том спасибо. Из-за энаблера пару раз переустанавливал систему забывая отключить их твик.


  1. Mel
    02.07.2015 15:32
    -1

    Есть trimenabler который уже давно умеет включать трим и не нужно ничего ждать


    1. uzverkms Автор
      02.07.2015 16:15
      -1

      Trim enabler стоит 10 $ и его использование связано с определёнными рисками стабильности работы системы. А тут всё работает на уровне ОС. И теперь ждать действительно ничего не нужно.


      1. Mel
        02.07.2015 16:28
        -1

        Базовый функционал в том числе и включение трима не требует покупки лицензии.


        1. Mnemonik
          02.07.2015 16:39

          зато он требует выключения проверки целостности ядра системой и внедрения туда стороннего модуля. раньше это был не просто модуль, а модуль работы с AHCI в целом от предыдущей версии Mac OS X. И с каждой новой версией ОС эта версия становилась все «прошлее». Не знаю как дела обстоят сейчас в плане версии, но с внедрением постороннего модуля в ядро это все так же свяазно. Много ли вы знаете компаний которые пишут ядра для ядра Darwin? Я каждый раз когда нажимал на trimenabler молился, именно потому что читаю что он пишет что собирается делать.
          10.10.4 (и эта заметка) принесла огромное облегчение лично мне.


          1. Mel
            02.07.2015 17:14

            Ничего там «прошлее» не становится. Просто патч кекста. Никто там не писал страшных ядер для ядра (что это вообще такое?). Да и в целом что страшного в написании расширения для ядра?
            В таких ситуациях чтобы не нужно было молиться достаточно делать бекапы, это в разы эффективнее.


            1. Mnemonik
              02.07.2015 17:24

              «ядра для ядра» это «модули для ядра» с опиской от спешки.
              как сейчас я сказал что не знаю, но раньше ставился kext от прошлого ядра для работы с AHCI. И это было даже написано в инструкции — мол мы знаем про то что можно пропатчить текущий, но патч бинарного модуля всегда шаг в неизвестность, так что мы ставим проверенный модуль от той же системы, наслаждайтесь.
              ничего страшного в написании модулей для ядра нет, когда у ядра открыты спецификации, исходники, документация, есть много опыта в этом и модуль не делает ничего интрузивного с ядром. что не про trimenabler ни по одному пункту.
              при этом все так же остается вопрос об отключении проверки целостности ядра, а это одна из мощных фич MacOSX гарантирующая что в работу системы не вмешаются сторонние приложения, очевидно вредоносные.


              1. Mel
                02.07.2015 17:41

                ничего страшного в написании модулей для ядра нет, когда у ядра открыты спецификации, исходники, документация, есть много опыта в этом и модуль не делает ничего интрузивного с ядром. что не про trimenabler ни по одному пункту.

                Исходники ядра эппл выкладывает в общий доступ, смело вы конечно про «trimenabler ни по одному пункту».

                С kext signing согласен, не совсем комфортно от отключения.

                п.с. прямо топик зла какой-то, все комменты заминусовали.


                1. Mnemonik
                  02.07.2015 18:30

                  последнее выложенное от 10.10.1
                  и оно прямо скажем не фантастически задокументировано.


  1. Mel
    02.07.2015 17:35

    del


  1. hochbar
    05.07.2015 17:59
    -1

    После установки 10.10 на SSD я через TRIM Enabler включил TRIM. Сегодня запустил обновление до 10.10.4 как обычно, но оно прошло как-то странно: был какой-то системный писк, потом 4 перезагрузки один за другим с интервалом 3 сек, но ноут все таки включился.
    Вопросы такие: 1. ядро осталось пропатченным TRIM enabler или после обновления встало непатченное ядро? 2. Чтобы включить TRIM через trimforce нужно ли сперва отключить trim через TRIM enabler? 3. После отключения через TRIM enabler ядро вернется в состояние до патча? Очень нужно, кто знает ответьте.


    1. Mnemonik
      05.07.2015 22:52
      -1

      если система обновилась до 10.10.4, то скорее всего ядро обновилось до стандартного. посмотреть можно открыв сведения о системе и посмотрев раздел SAS/SATA Express. Если у вас неэппловский hdd, для него там будет стоять TRIM: no. Это будет означать что TRIM Enabler не стоит больше.
      Чтобы включить trim через trimforce скорее всего TRIM Enabler надо выключить. Что произойдет после выключения TRIM Enabler с ядром, вернется ли оно в ванильное состояние не знаю, все зависит от того как это реализовали авторы TRIM Enabler.