Это старая версия документа.


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

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

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

Настройка /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

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

Для EXT4:

UUID=aeade6fd-2b24-4e59-bc8c-6f1791338b0c / ext4 noatime,errors=remount-ro 0 1

Для BTRFS:

UUID=aeade6fd-2b24-4e59-bc8c-6f1791338b0c / btrfs noatime,ssd,compress=lzo 0 1
  • noatime - Благодаря этим опциям ОС не будет записывать время последнего обращения к файлам и папкам
  • ssd - btrfs имеет специальный режим для работы с SSD.
  • compress - сжатие файлов (lzo - рекомендумое значение, быстрое сжатие; zlib - выше уровень сжатия, но значительно медленнее, больше нагрузка ЦПУ, больше потребление батареи на ноутбуках.
Арчвики рекомендуют использовать space_cache - btrfs сохраняет свободное пространство на диске, чтобы сделать кэширование группы блоков гораздо быстрее. Включать не стал, т.к. сам не понимаю механизм работы и не уверен в нужности в общем случае (для всех)
Можно также использовать commit=600, если у вас имеется ИБП, т.к. возможна потеря данных за последние 600 сек. работы при внезапном выключении питания.
Часто рекомендуют опцию 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 не будет сохраняться на диске и при переустановке пакетов, потребуется их выкачивать заново

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

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

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

Ядро будет копить данные, ожидающие записи на диск, и записывать их либо при острой необходимости, либо по истечении таймаута. Я выбрал для себя 60 секунд.

Добавляем в конец файла:

vm.laptop_mode = 5
vm.dirty_writeback_centisecs = 6000

Для применения изменений

sudo sysctl -p

или перезагрузите ОС.

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

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

vm.swappiness=10

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

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

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

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

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

sdX - ваш SSD.

Ручное выполнение TRIM

Вполне возможна ситуация когда по какой-то причине опции автоматического TRIM могут быть не включены, тогда понадобится выполнить TRIM вручную. Обычно есть смысл провести эту операцию после активации TRIM с помощью опции монтирования discard в /etc/fsbab. Для этого существует небольшая утилита fstrim.

sudo fstrim / -v

Опция -v покажет в выводе команды сколько байт на разделе было «оттримлено»:

/: 28166164480 bytes were trimmed

Операция занимает некоторое время и может длиться от нескольких секунд до нескольких минут.

Проверена корректная работа утилиты на разделах ext4, btrfs. На ntfs и reiserfs не работает.

Источники