[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
Источник
Утилиты для контроля состояния SSD-дисков на Mac
Привет, Geektimes! Описывать преимущества SSD или твердотельного накопителя над HDD нет смысла – кто ценит быстрый запуск операционной системы, отсутствие шума и низкое энергопотребление, наверняка уже успел обзавестись таким диском. Но на этом приключения с SSD не заканчиваются: подобно автомобилю или даже смартфону данный накопитель требует бережного обращения и ухода. Поэтому периодически за ним нужно следить.
Если вы установите Vector или другой твердотельный накопитель от OCZ вместо HDD (или совместно с ним) на Mac, сделать это можно будет довольно просто – производитель предлагает собственную утилиту SSD Guru, которая позволяет поддерживать диски в надлежащем состоянии (о ней мы уже подробно писали в блоге). Однако и сторонние разработчики не спят – многие давно выпустили на рынок собственные решения, заслуживающие пристального внимания. О них мы и поговорим.
На случай, если вы установили SSD вместо HDD в MacBook (с Optibay или нет), для вас это особенно актуально.
DriveDx
Данная утилита предоставляет исчерпывающую информацию об SSD-накопителе. Во вкладке с названием диска можно найти основные сведения, возникшие проблемы, индикаторы здоровья накопителя и другую полезную информацию.
Здесь мы видим, что диск абсолютно здоров – показатель «общего здоровья» составляет 100%, правда, «жить» нашему SSD осталось уже немного меньше. Ёмкость накопителя составляет 480 ГБ, а общее время работы – 982 часа. Количество циклов превысило 3 000, что вполне нормально для молодого диска. Отсутствие проблем и хорошее состояние индикаторов здоровья свидетельствует о том, что за диском наблюдают и поддерживают его работоспособность на максимальном уровне.
Полный список индикаторов доступен в соответствующей вкладке.
Во вкладке со статистикой можно найти такие интересные факты, как количество записанных и прочтенных логических секторов, наличие ошибок интерфейса и данные по принудительным перезагрузкам.
При возникновении ошибок все они фиксируются в логе, поэтому вы всегда узнаете, в чем причина той или иной проблемы, и сможете оперативно её устранить. Чтобы проверить SSD на наличие таких ошибок, можно запустить специальный тест, который их выявит. На выбор представлены два варианта – быстрый и долгий тест. Они автоматически проводятся при запуске программы.
Единственный, пожалуй, минус приложения – оно платное. За персональную лицензию придется заплатить 24,99 доллара, а за семейную – 49,99 долларов. Разработчики периодически устраивают распродажи, так что при удачном стечении обстоятельств программу можно урвать с 20-процентной скидкой.
Chameleon SSD Optimizer
Отличная бесплатная альтернатива DriveDx с одной важной особенностью – возможностью активировать TRIM для SSD. Стоит её активировать или нет – зависит от самого накопителя: некоторые диски демонстрируют настолько низкие показатели скорости и производительности, что для них это необходимость.
Утилита отключает электронную подпись расширений ядра (.kext), которую Apple ввела в OS X Yosemite для борьбы с программами вроде Trim Enabler, но на OS X El Capitan Chameleon SSD Optimizer прекрасно с этим справляется. Для этого надо не забыть наделить её правами администратора.
Программа имеет четыре основные информационные вкладки – главные сведения, которыми, в целом, и можно ограничиться, доступны в разделе More Disk Info. Приложение также сканирует SSD вплоть до модели, серийного номера, скорости и температуры. Миниатюрно и минималистично, но зато все понятно.
Во вкладке «Настройки» можно отключить сенсор движения Sudden Motion Sensor ввиду отсутствия движущихся головок в SSD-накопителе. А вот функцию NOATIME, наоборот, стоит активировать: она предотвращает запись времени последнего обращения к файлу, таким образом, его ресурсы становятся доступнее.
Особого внимания заслуживают режимы сна – Set Sleep Mode. Предусмотрено три режима: A – при котором содержимое оперативной памяти не записывается на диск, если закрывается крышка ноутбука; B – при котором система хранит копию содержимого оперативной памяти в режиме сна; С – при котором система восстанавливается с образа диска. В последнем случае «засыпание» ноутбука происходит медленнее, но зато улучшаются показатели автономной работы. Первые два режима установлены на компьютере по дефолту.
Самое лучшее сочетание – перевести режим сна в положение A и включить запрет создания дампа оперативной памяти в спящем режиме.
Что касается данных о емкости диска, протоколе и over provisioning, с ними можно ознакомиться в следующей вкладке. В нашем случае 17 % приходятся на долю пользователя и 0 % – на производителя. Хороший результат.
Как мы уже отметили, программа с открытым ходом распространяется абсолютно бесплатно и «живет» за счет добровольных пожертвований. Учитывая, что она мало чем уступает первому приложению, это не может не радовать.
Disk Sensei
Помните знаменитый Trim Enabler? Разработчики приложения полностью переосмыслили дизайн и возможности своего продукта и выдали его в новом виде, с новым названием. Теперь это не просто утилита для активации Trim, а полноценная программа для наблюдения за состоянием и «здоровьем» SSD.
Во вкладке Dashboard отображается вся необходимая информация о твердотельном накопителе: производитель, серийны номер, объем записанных и прочтенных данных, емкость (включая заполненное пространство), температура и даже общий показатель здоровья диска. Данные представлены в удобном для восприятии виде, без лишних показателей и прочего мусора.
Информация о жизнедеятельности SSD представлена во вкладке Health – здесь и количество циклов, и данные по ошибкам, а также любопытные сведения вроде времени работы диска на данный момент. Всего доступны 16 показателей, каждый из которых «здоровый» SSD должен пройти без проблем. Как мы видим, в нашем случае это 16/16 – значит накопитель абсолютно здоров. Впрочем, об этом стало известно и по прошлым утилитам.
А теперь, пожалуй, об одном из главных преимуществ Disk Sensei. Переключаемся в раздел Visual, где представлена наглядная информация о контенте, размещенном на SSD. Данные хитро отсортированы по секторам (привет, Daisy Disk), и можно сразу посмотреть, какие файлы занимают больше всего места на накопителе.
OCZ SSD Guru
Крутая утилита для управления и наблюдением за твердотельными накопителями от компании OCZ (от нас, да :)). Версии для OS X пока нет, но эта проблема решается быстрым созданием загрузочной флешки с соответствующим приложением.
Сделать это можно очень просто. Вам понадобится обычная флешка и дистрибутив программы в формате .dmg, который можно скачать с сайта OCZ совершенно бесплатно, выбрав нужный продукт. Для начала форматируем флешку в формате FAT и в качестве названия указываем SSDSUPPORT. Для данной задачи подойдет даже стандартная дисковая утилита.
Как только форматирование будет завершено, смонтируйте загруженный образ и скопируйте все имеющиеся на нем файлы на флешку.
После этого необходимо извлечь флешку, выключить Mac, вставить её обратно, а затем включить компьютер с начатой клавишей Option (Alt). Выберите флешку в качестве загрузочного тома.
После этого вы получите доступ к утилите SSD Guru и сможете полноценно ею пользоваться.
На что же способно бесплатное решение от OCZ? Во-первых, программа предоставляет общую информацию о накопителе, в том числе емкость, здоровье, занятое пространство, интерфейсы, модель и серийный номер диска.
Во вкладке Tuner можно включить Trim без использования программ от сторонних разработчиков и просмотреть данные об over provisioning. OCZ предоставляет собственное удобное решение для этих целей.
Здесь же можно загрузить необходимые обновления и запустить безопасное форматирование диска.
В общем, настоящий must-have для владельцев SSD от OCZ. Распространяется абсолютно бесплатно.
Источник