Обновление Mac OS X 10.10.4 и TRIM на SSD сторонних производителей +8



На прошедшей недавно конференции разработчиков 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
    /#8427930 / -5

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

    • nochkin
      /#8427958 / -4

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

      • gibson_dev
        /#8428024 / -4

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

      • olegkrasnov
        /#8433852

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

        • nochkin
          /#8434324

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

          • olegkrasnov
            /#8434886

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

      • olegkrasnov
        /#8434896

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

        • nochkin
          /#8434908

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

          • olegkrasnov
            /#8434946

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

  2. zorgrhrd
    /#8428104 / -3

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

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

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

    • zorgrhrd
      /#8428642 / -1

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

      • Mel
        /#8428690 / -1

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

  3. vettspace
    /#8428196

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

    • uzverkms
      /#8428200

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

      • DenimTornado
        /#8428808 / -1

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

        • DenimTornado
          /#8428816

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

  4. Mel
    /#8428676 / -1

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

    • uzverkms
      /#8428754 / -1

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

      • Mel
        /#8428780 / -1

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

        • Mnemonik
          /#8428804

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

          • Mel
            /#8428828

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

            • Mnemonik
              /#8428846

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

              • Mel
                /#8428872

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

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

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

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

                • Mnemonik
                  /#8428940

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

  5. Mel
    /#8428856

    del

  6. hochbar
    /#8432296 / -1

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

    • Mnemonik
      /#8432432 / -1

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