Начиная с Ubuntu 14.04 разработчики позаботились о поддержке SSD. Система сама периодически запускает функцию TRIM на SSD, никаких discard в fstab больше не требуется. И многие другие советы, которые можно найти в интернете уже не актуальны, не создавайте себе проблем, просто пользуйтесь. Данная статья уже сильно урезана, оставлены только актуальные советы, да и те совсем не обязательны.
Обсуждение статьи - http://forum.ubuntu.ru/index.php?topic=190119
Просьба к редакторам тоже там отписываться
— thunderamur
Настройка 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
Для систем, у которых systemd надо еще отключить службу
systemctl --type swap
sudo systemctl mask <имя юнита> # или sudo ln -s /dev/null /etc/systemd/system/<имя юнита>
Если же памяти для задач ОС маловато, то пробуем настроить приоритет использования 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.