- Активация TRIM поддержки накопителей SSD от сторонних производителей в macOS (OS X)
- Что же такое TRIM?
- Как включить поддержку TRIM для сторонних SSD дисков в macOS (OS X) Yosemite, El Capitan, Sierra, Mojave
- Как включить поддержку TRIM для SSD сторонних производителей в Mac OS X
- Активация TRIM в Mac OS X (ниже 10.10.4) для любых SSD накопителей
- [OS X] Включаем нативную поддержку TRIM для сторонних SSD
- Лонгриды для вас
- [SSD only] Активация TRIM в Mac OS Lion / Mountain Lion 10.8
- Если вдруг понадобится отключить поддержку TRIM:
- Update 2.0
- Update 3.0 // Найден способ активация TRIM для системы 10.8.2
Активация TRIM поддержки накопителей SSD от сторонних производителей в macOS (OS X)
Не все компьютеры Mac имеют в заводской комплектации твердотельный накопитель SSD, в некоторых даже сегодня установлен обычный HDD (iMac, Mac mini). Преимущество SSD — скорость работы, но при постоянной записи информации производительность накопителя падает, чтобы этого избежать была придумана команда TRIM.
Что же такое 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 команда может быть несовместима и предложит перезагрузить компьютер. Выполните требуемые действия.
После перезагрузки откройте программу «Информация о системе» ( Программы → Утилиты ), перейдите SATA/SATA Еxpress и выберите SSD диск, в строчке «Поддержка TRIM» у вас должна появится надпись Да
Обраните внимание! Процедуру активации TRIM нужно будет выполнять каждый раз при установке новой операционной системы macOS.
Для более старых версий OS X используйте программу TRIM Enabler, правда программа платная ($10), но очень удобная. Удобство программы состоит в том, что для включения поддержки TRIM нужно передвинуть бегунок в положение ON , ввести свой пароль и перезагрузить Mac.
Хотите получать больше полезной информации? Подписывайтесь на наши страницы в соц.сетях: Facebook, Twitter и Вконтакте, а также делитесь этой и другими статьями со своими друзьями
Источник
Как включить поддержку TRIM для SSD сторонних производителей в Mac OS X
Тема будет актуальна в первую очередь владельцам старых маков, когда нет возможности установить OS X Yosemite (10.10.4) или новее, но вы решили дать своему компьютеру или ноутбуку вторую жизнь, заменив обычный диск на SSD. Впрочем, для владельцев более свежих устройств тоже найдется полезная информация, если вы самостоятельно делали апгрейд и установили сторонний 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, так что всё реально работает. Команды удобно выполнять в терминале копированием-вставкой, так вы избежите ошибок.
- Получаем права администратора (root’а):
- Делаем резервную копию оригинального драйвера: 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
- Патчим бинарный файл в кексте 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).<9>(\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 и выше):
perl -pi -e ‘s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00<1,20>)[^\x00]<9>(\x00<1,20>\x4D)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg’ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
Проверить заработал ли TRIM довольно легко, достаточно посмотреть информацию о системе, выбрав пункт Последовательный-ATA (Serial-ATA), где увидим строку «Поддержка TRIM».
Хочу отметитесь, что повторно выполнять патч нужно при любом обновлении 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
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Источник
[OS X] Включаем нативную поддержку TRIM для сторонних SSD
Некоторые версии купертиновской компьютерной ОС не обещают привычного множества новых функций. Большинство изменений в таких релизах сосредоточены «под капотом», и многие из них на первый взгляд не особо заметны. Однако значимость их от этого не страдает, и об одной из таких «скромных» опций мы расскажем в данном материале.
Выпуском новых версий своей системы Apple радует не только жаждущих бесплатного обновления пользователей более старых Mac, но и тех из них, кто решил сделать апгрейд устройства и установить вместо медленного винчестера современный твердотельный накопитель. Речь идёт, конечно, об отличных от фирменных «яблочных» SSD-дисках, ведь начиная с 10.10.4 для них добавлена возможность включить поддержку метода TRIM, с помощью которого операционная система сообщает накопителю о уже удаленных из таблицы файлов данных. Этой цели в OS X служит команда trimforce.
Прежде, чем продолжить, настоятельно рекомендуем выполнить резервное копирование данных при помощи Time Machine или любым удобным вам способом. Также напоминаем, что выполнение операции производится на ваш страх и риск: корпорация Apple не может гарантировать работу инструмента для аппаратного обеспечения сторонних производителей, которое не прошло должного тестирования на предмет совместимости с TRIM, и, как следствие, сохранность хранимых на нём данных может оказаться под вопросом. Об этом честно уведомляет встроенное предупреждение.
Итак, для того чтобы принудительно включить поддержку TRIM для выбранного накопителя, нам понадобится любимое народными массами приложение «Терминал», расположенное по умолчанию в папке «Утилиты». Далее вводим вот такую команду (потребуется пароль администратора, при вводе не отображаемый на экране).
А вот и тот самый «дисклеймер».
Разумеется, подобные манипуляции требуются не во всех случаях. Например, накопители «яблочного» производства не нуждаются в trimforce, поскольку поддержка TRIM встроена в них изначально, а некоторые сторонние производители применяют вместо неё собственные алгоритмы. Само собой, на жёстких дисках команда также не работает.
Надеемся, этот простой совет поможет дискам прослужить вам как можно дольше. Приятной работы в OS X!
Редакция AppleInsider.ru не несёт ответственности за возможные последствия выполнения инструкций, предоставленных третьей стороной или не рекомендуемых к выполнению корпорацией Apple, а также использование аппаратного и программного обеспечения, произведённого сторонними вендорами.
По материалам OSXDaily
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Лонгриды для вас
Если вы вдруг уехали за границу в отпуск, по делам или остались там жить, вам наверняка хоть изредка интересно посмотреть российское телевидение. Проблема в том, что у многих сервисов есть региональные ограничения, но мы подобрали те, которые доступны из любой страны.
Apple Watch уже много лет являются одним из лучших помощников в контроле за своим здоровьем. В прошлом году здесь появилась еще одна функция — исследование уровня насыщения кислорода в крови. Но могут ли умные часы конкурировать с классическим прибором?
Рассказываем, как и где можно смотреть презентацию Apple на открытии WWDC 2021, в том числе на русском языке. Нас ждет масса интересных новинок — от iOS 15 и macOS 12 до новых MacBook Pro с чипом M1X или даже M2!
Источник
[SSD only] Активация TRIM в Mac OS Lion / Mountain Lion 10.8
Здравствуйте, уважаемые хабражители.
Этот перевод предназначен в первую очередь для тех, кто уже использует SSD диск и MacOS Lion. Лично я год с хвостиком радуюсь производительности SSD Intel X-25M и отсутствию карусельки смерти чего и вам от души желаю.
До сегодняшнего дня я был уверен, что мой SSD работает на 100% своих возможностей. Но не тут-то было! Если вы купили свой яблочный компьютер без SSD, то есть из магазина он выехал с обычным HDD, то обещанный во Льве TRIM у вас будет не активен, как оказалось только изначально укомплектованные SSD накопителем компьютеры имеют эту функцию по умолчанию. Проблема, как вы понимаете, в вызывающем вопросы маркетинге компании имеет софтверные корни, а не железные. И на эту подлянку от Apple мистер Грант Пеннэл предлагает свой болт с резьбой.
Прежде чем перейти непосредственно к переводу, предлагаю вам проверить, работает у вас TRIM или нет:
Если у вашего SSD контроллер SandForce 2***, то TRIM вам не рекомендуется. Как говорят очевиды всё дело в том, что контроллер SF2*** обрабатывает удалённую пользователем информацию своим особым образом и вообще хранит данные на диске в виде одного большого архива… подробности его работы и вытекающие проблемы описаны тут. Контроллером SF2*** оснащён достаточно широкий ряд устройств, в том числе популярный OCZ Vertex 3, поэтому обязательно загляните в список SSD оснащённых контроллером SandForce и смотрите внимательно, есть ли ваш диск в этом списке, если да, то в колонке Controller определите порядковый номер, если он начинается на 2, то дальнейшие операции по включению TRIM могут только навредить. Для всех остальных пользователей SSD эта статья будет полезна:
Ни в коем случае не используйте программу TRIM ENABLER (1.1 или 1.2) для активации TRIM во Льве.
После небольшой проверки этого приложения я обнаружил, что вместо обычного патча она заменяет важнейший системный файл на уровне ядра системы. Это значит, что если вы использовали TRIM Enabler, то он заменил файл с массой тянущихся из него ниточек по всей MacOS (особенно актуально для тех кто переехал на Льва из MacOS Snow Leopard 10.6.8). А это плохо. Очень плохо. На ряду с тем, что TRIM действительно включается, появляется реальная опасность столкнуться с вагоном проблем, начиная от kernel panic и заканчивая проблемами ввода/вывода (I/O), и вот тогда-то вас точно настигнет вращающийся и пугающий пляжный мяч.
В процессе дискуссии с разработчиком этого приложения (Oskar Groth) я услышал лишь обвинения через комментарии к его блогу, что мол занимаюсь троллингом и нагоняю страху (хотя на самом деле и в большей мере я пытался предложить альтернативный вариант, который представлен ниже). Вероятно — в следующей версии TRIM Enabler — файл будет корректно патчится, вместо его прямой замены, тем не менее этого апдейта до сих пор не произошло.
Итак, вот правильный способ по включению поддержки TRIM. Для этого следует выполнить следующие команды в терминале:
1. Для начала делаем резервное копирование файла, который будем патчить:
sudo 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.original
sudo perl -pi -e ‘s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00<1,20>)[^\x00]<9>(\x00<1,20>\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
sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches
Если вдруг понадобится отключить поддержку TRIM:
sudo perl -pi -e ‘s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00).<9>(\x00\x51)|$1\x41\x50\x50\x4C\x45\x20\x53\x53\x44$2|sg’ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches
sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
Всё что делает этот патч, это замена фразы “APPLE SSD” на нули в файле IOAHCIBlockStorage. Это необходимо для того, что бы обойти ограничение самой Apple на использование только брендовых SSD дисков. Бэкап файла сохраняется в той же директории где лежит оригинальный файл.
Для проверки, активизировался ли TRIM, зайдите сюда: Об этом Mac > Отчёт о системе >
Помните, если у вас бородатое поколение SSD и оборудование само по себе не поддерживает TRIM… этот патч не поможет. Патч всего-лишь обходит ограничение, созданное самой Apple, что бы ограничить TRIM поддержку для любых SSD, которые не под яблочным брендом.
Разобравшись с TRIM Enabler и невзлюбив его метод я начал искать вменяемое решение… нашёл его тут.
Записи контрольных сумм MD5 для оригинала и пропатченного файл в 10.7.0 следующие:
Оригинал: 155b426c856c854e54936339fbc88d72
Изменённый: 945944136009c9228fffb513ab5bf734
Если вы уже использовали TRIM Enabler, вы можете сделать следующее:
- Попытаться скопировать и заменить ключевой файл с другого Mac под управлением той же версии.
- Попытаться скопировать и заменить ключевой файл из Раздела для восстановления (Откройте Дисковую утилиту > Mount Recovery HD)
- Переустановить Льва
- Ждать следующего апдейта OS до 10.7.* и надеяться, что ключевой файл будет заменён при обновлении (что, кстати, де-факто), и уже после этого применять нормальный патч.
Важно:
К сожалению придётся каждый раз проводить эту операцию после крупного обновления OS X 10.7.1 > 10.7.2 > 10.7.3 > и так далее. , ибо ключевой файл обновляется почти каждый раз при обновлении ОС (если оно не дежурное).
Конец перевода
Дальше в статье идут разжёвывания Википедии, что TRIM не работает на стандартных HDD, что компьютер не дурак и может отличить HDD от SSD, что SSD не может греться больше при активации TRIM, что патч никак не может повлиять на работу системы, так как не вносит никаких изменений в работу самого ядра, что если включить TRIM, а у вас HDD, то ничего не произойдёт и все команды будут просто игнорироваться… ну и так далее. В общем: так как автор назвался грибом, пришлось залезать в короб по самую шляпку и отвечать всем. При наличии подобных вопросов в местных комментариях — буду переводить его послесловия с префиксом «Update», порционно.
Результативных вам усTRIMлений. Спасибо за внимание.
TRIM:
Технология TRIM увеличивает скорость записи в те ячейки, где уже хранились какие-либо данные ранее. Иными словами, эти данные там хранятся и после их удаления. А при необходимости перезаписи на SSD отправляется команда освободить эти ячейки и только потом начинается запись. Таким образом уходит время и сокращается скорость записи. Технология TRIM позволяет контроллеру записывать данные в обход операции высвобождения ячеек. К примеру: заявленная скорость у моего SSD x-25M — до 70 Mb в секунду. Протестировав до активации TRIM — выдавало не больше 50 Mb/s, сейчас заявленные 65-70 Mb/s. Протестируйте свой SSD, возможно так-же недосчитаетесь 30% скорости при записи данных…
Update 1.0
Появилась информация, что TRIM в некоторых случаях вызывает проблемы на тех SSD, которые оснащены контроллером SandForce 2***, как говорят очевиды всё дело в том, что контроллер SF2*** обрабатывает удалённую пользователем информацию своим особым образом и вообще хранит данные на диске в виде одного большого архива… подробности его работы и вытекающие проблемы описаны тут.
Как оказалось контроллером SF2*** оснащён достаточно широкий ряд устройств, в том числе популярный OCZ Vertex 3, поэтому обязательно загляните в список SSD оснащённых контроллером SandForce и смотрите внимательно, есть ли ваш диск в этом списке, если да, то в колонке Controller определите порядковый номер, если он начинается на 2, то отключайте TRIM, инструкция есть выше.
Update 2.0
Данный метод перестал работать после апдейта системы до версии 10.8.1
Тем не менее TRIM Enabler работает, но в интернетах до сих пор встречаются мнения, что он может рушить систему. На свой страх и риск можете попробовать, проблемы уходят, если через эту-же программу отключить TRIM при их возникновений, но вы сами понимаете — всё это «вилами по воде» — если и проявляется, то индивидуально.
Когда найдётся метод без вмешательства в ядро системы — я о нём напишу; если кто-то из вас, уважаемые маководы, найдёт способ раньше, не поленитесь сообщить, пожалуйста.
Update 3.0 // Найден способ активация TRIM для системы 10.8.2
Выполните следующие команды в терминале:
1. Резервное копирование оригинальных драйверов.
sudo 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-backup
sudo perl -pi -e ‘s|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00<1,20>)[^\x00]<9>(\x00<1,20>\x4D)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg’ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents /MacOS/IOAHCIBlockStorage
sudo kextcache -system-prelinked-kernel sudo kextcache -system-caches
Источник