Не так давно я наконец приобрёл себе 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:
1
|
sudo
gedit
/
etc
/
fstab
|
Нам нужна примерно такая строчка:
1
2
|
# / was on /dev/sda5 during installation
UUID
=
a189806d
-
eb0e
-
4d69
-
8fc6
-
e7e3d7eb53d7
/
ext4
errors
=
remount
-
ro
0
1
|
Нужно добавить некоторые дополнительные опции. Я добавил noatime, nodiratime и discard.
- discard - Включает технологию TRIM, которая распределяет нагрузку на SSD
- noatime и nodiratime - Благодаря этим опциям ОС не будет записывать время последнего обращения к файлам и папкам
Получилось примерно так:
1
2
|
# / was on /dev/sda5 during installation
UUID
=
a189806d
-
eb0e
-
4d69
-
8fc6
-
e7e3d7eb53d7
/
ext4
noatime
,
nodiratime
,
discard
,
errors
=
remount
-
ro
0
1
|
Отключаем работу с файлом подкачки
Хоть я и не делал swap раздел, я всё равно отключил работу с файлом подкачки. Так, на всякий случай. Для этого открываем файл /etc/sysctl.conf и прописываем следующий параметр:
1
|
vm
.
swappiness
=
1
|
Что бы изменения вступили в силу, нужно перезагрузить компьютер, либо ввести следующую команду:
1
|
sudo
sysctl
-
p
|
Отложенная запись
С помощью отложенной записи ядро будет хранить данные, ожидающие записи на диск, и записывать их либо при острой необходимости, либо по истечении таймаута. Обычно время хранения ставится на 60 секунд, но можно и больше. Для этого открываем файл /etc/sysctl.conf:
1
|
sudo
gedit
/
etc
/
sysctl
.conf
|
Далее добавляем нужные параметры:
1
2
|
vm
.
laptop_mode
=
5
vm
.
dirty_writeback_centisecs
=
6000
|
Меняем планировщик
Для работы с SSD диском больше подходит планировщик noop. Для начала проверим какой именно планировщик у вас включен:
1
|
cat
/
sys
/
block
/
sda
/
queue
/
scheduler
|
В квадратных скобках выводится тот планировщик, что у вас установлен на данный момент. Если это не noop - исправляем. Для этого нужно отредактировать GRUB:
1
|
sudo
gedit
/
etc
/
default
/
grub
|
В открывшемся файле ищем опцию GRUB_CMDLINE_LINUX_DEFAULT. По дефлоту там стоит только "quiet splash". Прописываем рядом "elevator=noop". У меня получилось следующее:
1
|
GRUB_CMDLINE_LINUX_DEFAULT
=
"elevator=noop"
|
Я удалил значения "quiet splash", так как не нуждаюсь в красивой картинке при запуске, а выиграть пару секунд хотелось.
После всех манипуляций не забываем обновить GRUB:
1
|
sudo
update
-
grub
|
Итог
Что же я получил в итоге. Не скажу, что время на загрузку системы ощутимо уменьшилось, ибо оно и так было буквально несколько секунд. А вот программы действительно стали бегать ощутимо быстрее. Даже LibreOffice, который всегда загружался довольно долго, теперь готов к работе спустя несколько секунд после запуска.
В общем если вам важна каждая секунда - SSD ваш выбор. Если нет то можно легко обойтись, Ubuntu итак довольно быстрая система.