Оптимизация Ubuntu 11.10 для работы с SSD

Не так давно я наконец приобрёл себе SSD жёсткий диск. Острой нужды в нём не испытывал, но было очень интересно поиграться с ним. К сожалению, как только я его приобрёл, я сильно заболел. В итоге новенькое устройство две недели лежало без дела. Но таблетки помогли, я вновь полон сил, и собираюсь рассказать как настроить Ubuntu 11.10 для работы с SSD.

Лишние танцы с бубном нужны из за того, что у SSD куда более больший износ, чем у привычных HDD. Поэтому нужно ограничить число записей на жёсткий диск к минимуму. Я не утверждаю, что мой способ оптимизации самый лучший, но как мне показалось всё довольно таки неплохо.

Отмечу, что у меня на компьютере не только Ubuntu, но и Windows. Обе эти ОС стоят на одном SSD. Так же, помимо SSD на 60Gb, у меня установлен HDD на 1Tb.

Установка Ubuntu 11.10 на SSD

Я решил установить Ubuntu с ноля. Стал вопрос о создании отдельных разделов. Путём чтения множества манов было выяснено, что самые частоперезаписываемые каталоги - это /home (ну это было очевидно), /tmp и /var. Можно было устроить заморочки, и настроить монтирование /tmp и /var в оперативную память. Так же были другие варианты, но я решил раз есть HDD, то и поставлю это всё на него. Так я слегка проигрываю в скорости, зато не так сильно изнашиваю SSD. Файловую систему я не трогал, так и оставил везде ext4, но слегка допилил.

Ах да. Файл подкачки я не ставил, ибо думаю, что восьми гигабайт оперативной памяти ОС хватит за глаза.

Файловая система и TRIM

Внимание! Инструкция ниже - ошибочная! Правильная технология включения TRIM описана тут: TRIM - Разгоняем SSD в Ubuntu. Добавлять discard в /etc/fstab не нужно!

Как известно, ext4 - журналируемая файловая система. Для SSD это не хорошо. Рекомендуют отключать его, но я обошёлся более простым способом, а именно - отключил запись времени обращения к файлам и папкам. Для этого открываем /etc/fstab:

Нам нужна примерно такая строчка:

Нужно добавить некоторые дополнительные опции. Я добавил noatime, nodiratime и discard.

  • discard - Включает технологию TRIM, которая распределяет нагрузку на SSD
  • noatime и nodiratime - Благодаря этим опциям ОС не будет записывать время последнего обращения к файлам и папкам

Получилось примерно так:

Отключаем работу с файлом подкачки

Хоть я и не делал swap раздел, я всё равно отключил работу с файлом подкачки. Так, на всякий случай. Для этого открываем файл /etc/sysctl.conf и прописываем следующий параметр:

Что бы изменения вступили в силу, нужно перезагрузить компьютер, либо ввести следующую команду:

Отложенная запись

С помощью отложенной записи ядро будет хранить данные, ожидающие записи на диск, и записывать их либо при острой необходимости, либо по истечении таймаута. Обычно время хранения ставится на 60 секунд, но можно и больше. Для этого открываем файл /etc/sysctl.conf:

Далее добавляем нужные параметры:

Меняем планировщик

Для работы с SSD диском больше подходит планировщик noop. Для начала проверим какой именно планировщик у вас включен:

В квадратных скобках выводится тот планировщик, что у вас установлен на данный момент. Если это не noop - исправляем. Для этого нужно отредактировать GRUB:

В открывшемся файле ищем опцию GRUB_CMDLINE_LINUX_DEFAULT. По дефлоту там стоит только "quiet splash". Прописываем рядом "elevator=noop". У меня получилось следующее:

Я удалил значения "quiet splash", так как не нуждаюсь в красивой картинке при запуске, а выиграть пару секунд хотелось.

После всех манипуляций не забываем обновить GRUB:

Итог

Что же я получил в итоге. Не скажу, что время на загрузку системы ощутимо уменьшилось, ибо оно и так было буквально несколько секунд. А вот программы действительно стали бегать ощутимо быстрее. Даже LibreOffice, который всегда загружался довольно долго, теперь готов к работе спустя несколько секунд после запуска.

В общем если вам важна каждая секунда - SSD ваш выбор. Если нет то можно легко обойтись, Ubuntu итак довольно быстрая система.

Открываете больницу? Тогда вам понадобится оборудование для прачечных.