Начиная с Ubuntu 14.04 разработчики позаботились о поддержке SSD. Система сама периодически запускает функцию TRIM на SSD, никаких discard в fstab больше не требуется. И многие другие советы, которые можно найти в интернете уже не актуальны, не создавайте себе проблем, просто пользуйтесь. Данная статья уже сильно урезана, оставлены только актуальные советы, да и те совсем не обязательны.

Обсуждение статьи - http://forum.ubuntu.ru/index.php?topic=190119

Просьба к редакторам тоже там отписываться

thunderamurthunderamurthunderamurЗаслуженный пользовательРоссия, ДВ, Благовещенск

Настройка Ubuntu для работы с SSD

Как всем известно SSD очень быстры, но имеют один маленький (или не маленький) недостаток - ограниченное число циклов записи. Т.е. их надо стараться больше использовать на чтение, а запись свести к минимуму, дабы свести риск выхода из строя диска раньше времени к минимуму. Статья написана для Ubuntu 14.04 и более новых версий.

Настройка /etc/fstab

/etc/fstab – один из важных файлов ОС, который исполняется во время загрузки системы. В нем описаны какие разделы накопителей и как именно монтируется в файловую систему ОС. Открываем:

gksu gedit /etc/fstab

Отключаем swap

Если уж SSD приобретен, то вполне можно добавить памяти в машину и отключить swap. Для этого будет достаточно уже 4GiB (используйте утилиты free и top, чтобы узнать сколько памяти потребляет ОС) Если памяти достаточно, ставим систему без свопа или отключаем его, если система уже установлена.
Комментируем (#) строку со словом swap

#UUID=xxxx-xxxx-xxxx-xxxx      none    swap    sw      0       0

Если же памяти для задач ОС маловато, то пробуем настроить приоритет использования swap

Опции монтирования

Для BTRFS:

UUID=aeade6fd-2b24-4e59-bc8c-6f1791338b0c / btrfs compress=lzo,defaults,subvol=@ 0 1
  • compress - сжатие файлов (lzo - рекомендумое значение, быстрое сжатие; zlib - выше уровень сжатия, но значительно медленнее, больше нагрузка ЦПУ, больше потребление батареи на ноутбуках.

После применения этой опции новые файлы будут сжиматься при записи, а также старые при изменении. Если хотите сжать уже установленную систему нужно применить команду дефрагментации со сжатием.

Часто рекомендуют опцию discard - активирует TRIM для SSD. Опция discard не использована в силу того, что в Ubuntu начиная с версии 14.04 разработчики позаботились о пользователях. Система сама периодически делает fstrim-all, эта команда тримит SSD в момент запуска (команды), а не на лету как discard. Но результат один, деградации скорости не будет.

Как видим BTRFS хорошо приспособлена для SSD. Ранее BTRFS имела проблемы с производительностью, особенно при установке пакетов. Сейчас, на свежих ядрах 4.* я не вижу этой проблемы, работает быстро.

Кэш apt в ОЗУ

tmpfs   /var/cache/apt/archives tmpfs   defaults        0       0

Кэш apt не будет сохраняться на диске и при переустановке пакетов, потребуется их выкачивать заново. Кроме того это не сильно поможет нашему SSD, т.к. пакеты сжатые, а при установке занимают в 5-10 раз больше места, чем в архиве. Также это увеличит использование ОЗУ. После включения убедитесь, что в системе хватает памяти для выполнения ваших задач

Дефрагментация BTRFS со сжатием файлов

Для SSD не требуется дефрагментация. В данном случае она применена для того, чтобы сжать файлы уже установленной системы

Для выполнения нужно загрузиться в живую сессию, примонтировать раздел с BTRFS и применить команду дефрагментации со сжатием:

sudo btrfs fi def -clzo -r /media/<путь до раздела btrfs>/{@,@home}

У себя я получил коэффициент сжатия 0.63, было 5.21 ГБ, стало 3.7 ГБ, т.е. в 1.5 раза меньше запись на SSD в процессе дальнейшей работы. Замечу, что я не храню на SSD плохо сжимаемые файлы - аудио, видео, фото и т.п., они размещены на другом разделе.

Отключение дискового кэша в браузерах

1) Mozilla Firefox

Правка → Настройки → Дополнительные → Сеть → Поставить галочку «Отключить автоматическое управление кэшем» → Установить значение в 0.

2) Opera

Ctrl+F12 → Расширенные → История → Дисковый кэш → Отключено

3) Chromium/Google Chrome

К сожалению этот браузер не умеет отключать дисковый кэш полностью из GUI.

Настройки → Дополнительные инструменты → Инструменты разработчика (Ctrl+Shift+I) → Настройки (значек шестеренки) → поставить галочку Disable cache (while DevTools is open)

Настройка /etc/sysctl.conf

Не уверен в актуальности этих настроек. Сам не использую в силу снижения надежности ФС, если их применить. Кто обладает достоверной информацией скорректируйте или поделитесь на форуме в теме обсуждения данной статьи.

Открываем /etc/sysctl.conf:

sudo gedit /etc/sysctl.conf

Приоритет использования swap

Если памяти маловато, то можно просто уменьшить агрессивность свопинга. В /etc/sysctl.conf добавляем строчку

vm.swappiness=10

Параметр управляет процентным соотношением свободной памяти при котором начнётся свопинг.

Хотя, если у вас мало ОЗУ и вы купили себе SSD… то вы поступили не верно.

Все параметры описаны здесь

Проверка поддержки TRIM

sudo hdparm -I /dev/sdX | grep -i trim

sdX - ваш SSD.

Источники