ñÎÄÅËÓ ÃÉÔÉÒÏ×ÁÎÉÑ 

В последнее время ко мне все чаще обращаются люди с проблемой отказа компьютера запускаться. И компьютерам этим на поверку оказывается 2-3 года, а также в них приимущественно установлен SDD в качестве основного и (к сожалению) единственного накопителя (хард-диска).

Что же происходит? Отчего столь новые и великолепные технологии отказываются работать?

Ну конечно прежде всего от того, что восхищаясь их достижениями (скорость прежде всего), пользователи не читают про недостатки. А недостатки SDD не менее велики чем достоинства и это прежде всего конечное число раз записи в ячейку памяти. Для большинства SDD с структурой памяти MLC это 10 000, а для дорогих моделей с структурой памяти SLC - 100 000.

Не вдаваясь в дебри расчетов мы получаем время непрерывной работы SDD при искусственно заданном режиме тяжелейшем режиме, которого не бывает у пользователей - около 150 дней. Но на самом деле, в реальной ситуации, мы вполне можем умножить это число на 10 и получить 1500 дней (т.е. несколько менее 4-х лет). Учитывая темпы развития компьютерной техники это вполне удволетворительный срок. Кроме того этот срок вполне можно увеличить правильной установкой SDD в операционную систему.

 

Вторым существенным, но устранимым недостатком является заметное замедление работы SSD по мере его заполнения. Вкратце, все дело в том, что SSD не может записать информацию поверх записанной (но помеченной как удаленная) как это делает обычный, магнитный HDD. Для такой записи, SDD обязательно должен очистить страницу памяти перед записью в нее.

С этим успешно борется набор инструкций TRIM реализованный в микропрограмме самого SDD и операционной системе. TRIM имеют все новые SDD известных производителей, а вот из операционных систем TRIM включен только в Windows 7.

TRIM отключает процедуры фоновой индексации и дефрагментации, которые не только не нужны, сколько вредны для SDD. Но кроме перечисленного в Windows 7 есть и еще что отключить. Это файл подкачки,  «спящий режим», кэширование файлов часто запускаемых программ, кеширование файлов страниц в интернет браузере.

Важно знать, что предыдущие версии Windows XP, Windows Vista усиленно изнашивают SDD если не принимать необходимых мер.

Это же относится и к Mac OS X.

 

 

 

 

 

 

 

 

 

Так как, для SSD критичны циклы перезаписи, и больше 80% емкости его лучше не заполнять, то нет смысла на него закидывать личную информацию. По этому переносим все на HDD. Мухи отдельно, котлеты отдельно ©.

 

Переносим папку пользователя на HDD (способ 1)

 

Для того, чтобы перенести папку пользователя на другой диск (в данном случае HDD), заходим в настройки, и меняем путь до его папки:

System Preferences > Users & Groups > (правый клик по юзеру) > Advanced Options

 

Переносим /Users на HDD (способ 2)

 

Форматируем hdd и копируем на него все содержимое директория /Users.

 

Чтобы примонтировать новый раздел в /Users, необходимо сделать запись в /etc/fstab.

Для этого необходимо узнать UUID вашего винчестера. Заходим в консоль, и выполняем:

diskutil info /Volumes/HDD/ | grep UUID

 

 

Редактировать /etc/fstab в OSX можно следующим образом: 

sudo vifs

 

 

В конец открывшегося файла добавляем строку с вашим UUID:

UUID=ваш_UUID /Users hfs rw 1 0

 

 

Теперь наша задача снести все с /Users, иначе если директорий будет не пустой примонтироваться винт не сможет.

Для этого загружаемся с Recovery HD:

 

 

Открываем терминал, и удаляем все из папки /Users:

sudo rm -rf /Users/*

 

 

 

Теперь перегружаемся в нормальную систему, и проверяем, правильно ли все примонтировалось:

df -h

 

 

Если все плохо, скорее всего вы поймете это и без этой команды :)

 

Переносим файл гибернации на HDD

 

Cоздаем папку куда будем складировать фаил гибернации:

mkdir /Users/image

 

 

Отключаем гибернацию:

sudo pmset -a hibernatemode 0

 

 

Переносим файл гибернации в эту папку:

sudo pmset –a hibernatefile /Users/image/sleepimage

 

 

Включаем гибернацию:

sudo pmset -a hibernatemode 3

 

 

Проверяем появился ли в папке фаил, если да то можно удалить старый:

sudo rm –f /private/var/vm/sleepimage

 

 

Отключаем функцию фиксирования последнего доступа к файлу

 

Для того, чтобы отключить эту функцию, создаем файл /Library/LaunchDaemons/com.hdd.noatime.plist

И записываем в него следующее:

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

    <dict>

        <key>Label</key>

        <string>com.hdd.noatime</string>

        <key>ProgramArguments</key>

        <array>

            <string>mount</string>

            <string>-vuwo</string>

            <string>noatime</string>

            <string>/</string>

        </array>

        <key>RunAtLoad</key>

        <true/>

    </dict>

</plist>

 

 

Даем права на файл:

sudo chown root:wheel /Library/LaunchDaemons/com.hdd.noatime.plist

 

 

После перезагрузки можно проверить, что все заработало:

mount | grep noatime

 

 

Включение TRIM

 

По умолчанию поддержка TRIM работает только для дисков, которые поставляет Apple.

Как выяснилось, TRIM подходит далеко не всем. Подробнее можно прочитать здесь. (спасибо SeiFeR

 

Для того, чтобы включить поддержку TRIM для сторонних SSD-дисков в 10.7 нужно выполнить следующие:

 

Делаем резервную копию модуля ядра:

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

 

 

Следующая команда заменяет в модуле IOAHCIFamily.kext строку APPLE SSD на нули:

sudo 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

 

 

После этого нужно почистить кеш модулей:

sudo kextcache -system-prelinked-kernel

$ sudo kextcache -system-caches

 

 

Перезагружаем компьютер и радуемся :)

 

Любые толковые дополнения/исправления принимаются с благодарностью. Спасибо.