Настройка Ubuntu для работы с SSD Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:ssd [2015/11/13 07:37]
[Отложенная запись]
wiki:ssd [2019/06/27 23:24] (текущий)
[Приоритет использования swap]
Строка 1: Строка 1:
-====== ​Настройка Ubuntu для ​работы с SSD ====== +<note important>​Начиная ​с Ubuntu 14.04 разработчики позаботились ​о поддержке SSD. Система сама периодически запускает функцию TRIM на SSD, никаких discard в fstab больше ​не требуется. И многие ​другие советы, ​которые можно найти в интернете уже не актуальны, не создавайте себе проблем, просто пользуйтесь. Данная статья уже сильно урезана, оставлены только актуальные советыда и те совсем не обязательны.</​note>​ 
-Как всем ​известно SSD очень быстры, но имеют один маленький (или ​не маленький) недостаток - ограниченное число циклов записи. Т.е. их надо стараться больше использовать на чтение, а запись ​свести к минимуму, дабы свести риск выхода из строя диска раньше времени к минимуму.+
  
 <note important>​Обсуждение статьи - http://​forum.ubuntu.ru/​index.php?​topic=190119 <note important>​Обсуждение статьи - http://​forum.ubuntu.ru/​index.php?​topic=190119
  
-Просьба к редакторам тоже там отписываться</​note>​+Просьба к редакторам тоже там отписываться 
 + 
 +--- [[user>​thunderamur]] 
 +</​note>​ 
 + 
 + 
 +====== Настройка Ubuntu для работы с SSD ====== 
 +Как всем известно SSD очень быстры,​ но имеют один маленький (или не маленький) недостаток - ограниченное число циклов записи. Т.е. их надо стараться больше использовать на чтение,​ а запись свести к минимуму,​ дабы свести риск выхода из строя диска раньше времени к минимуму. Статья написана для Ubuntu 14.04 и более новых версий. 
  
 ====== Настройка /etc/fstab ====== ====== Настройка /etc/fstab ======
Строка 16: Строка 24:
 Комментируем (#) строку со словом **swap** Комментируем (#) строку со словом **swap**
 <​file>#​UUID=xxxx-xxxx-xxxx-xxxx ​     none    swap    sw      0       ​0</​file>​ <​file>#​UUID=xxxx-xxxx-xxxx-xxxx ​     none    swap    sw      0       ​0</​file>​
 +Для систем,​ у которых systemd надо еще отключить службу
 +<code bash>
 +systemctl --type swap
 +sudo systemctl mask <имя юнита>​ # или sudo ln -s /dev/null /​etc/​systemd/​system/<​имя юнита></​code>​
 Если же памяти для задач ОС маловато,​ то пробуем настроить [[ssd#​Приоритет использования swap|приоритет использования swap]] Если же памяти для задач ОС маловато,​ то пробуем настроить [[ssd#​Приоритет использования swap|приоритет использования swap]]
  
 ===== Опции монтирования ===== ===== Опции монтирования =====
-Для EXT4: 
-<​file>​UUID=aeade6fd-2b24-4e59-bc8c-6f1791338b0c / ext4 noatime,​errors=remount-ro 0 1</​file>​ 
- 
 Для BTRFS: Для BTRFS:
-<​file>​UUID=aeade6fd-2b24-4e59-bc8c-6f1791338b0c / btrfs noatime,​ssd,​compress=lzo 0 1</​file>​+<​file>​UUID=aeade6fd-2b24-4e59-bc8c-6f1791338b0c / btrfs compress=lzo,​defaults,​subvol=@ ​0 1</​file>​
  
-  * noatime - Благодаря этим опциям ОС не будет записывать время последнего обращения к файлам и папкам 
-  * ssd - btrfs имеет специальный режим для работы с SSD. 
   * compress - сжатие файлов (lzo - рекомендумое значение,​ быстрое сжатие;​ zlib - выше уровень сжатия,​ но значительно медленнее,​ больше нагрузка ЦПУ, больше потребление батареи на ноутбуках.   * compress - сжатие файлов (lzo - рекомендумое значение,​ быстрое сжатие;​ zlib - выше уровень сжатия,​ но значительно медленнее,​ больше нагрузка ЦПУ, больше потребление батареи на ноутбуках.
  
-<note important>​Арчвики рекомендуют ​использовать space_cache - btrfs сохраняет свободное ​пространство на диске, чтобы сделать кэширование группы блоков гораздо быстрее. Включать ​не стал, т.к. ​сам не понимаю ​механизм работы и не уверен ​в нужности ​в общем случае (для всех)</​note>​+После применения этой опции новые файлы будут сжиматься при записи, а также старые при измененииЕсли хотите сжать ​уже установленную ​систему нужно ​применить команду [[wiki:​ssd#​Дефрагментация BTRFS со сжатием ​файлов|дефрагментации ​со сжатием]].
  
-<​note>​Можно также использовать commit=600, если у вас имеется ИБП, т. возможна потеря данных за последние 600 сек. работы при внезапном выключении ​питания.</​note>​+<​note>​Часто рекомендуют опцию discard - активирует TRIM для SSD. Опция discard не использована в силу того, что ​в Ubuntu начиная с версии 14.04 разработчики позаботились о пользователях. Система сама периодически делает fstrim-all, эта команда ​тримит SSD в момент запуска (команды), а не на лету как discard. Но результат один, деградации скорости не будет.</​note>​
  
-<​note>​Часто рекомендуют ​опцию discard - активирует TRIM для SSD. Опция discard не использована в силу того, что в Ubuntu начиная с версии 14.04 разработчики позаботились о пользователям. Система сама ​периодически делает fstrim -all, это команда за тримит SSD в момент запускаа не на лету как discardНо результат одиндеградации скорости не будет.</​note>​+Как видим BTRFS хорошо приспособлена для SSD. Ранее BTRFS имела проблемы ​с производительностью, особенно ​при ​установке пакетов. Сейчас, на свежих ядрах 4.* я не вижу этой проблемы, работает быстро.
  
-Как видим BTRFS более приспособлена для SSD. Ранее BTRFS имела проблемы с производительностью,​ особенно при установке пакетов. Сейчас,​ на свежих ядра 4.* я не вижу этой проблемы,​ работает быстро. +===== Кэш apt в ОЗУ =====
- +
-===== Помещаем ​в ОЗУ ​некоторые директории ​=====+
 <​code>​tmpfs ​  /​var/​cache/​apt/​archives tmpfs   ​defaults ​       0       ​0</​code>​ <​code>​tmpfs ​  /​var/​cache/​apt/​archives tmpfs   ​defaults ​       0       ​0</​code>​
-<note important>​Кэш apt не будет сохраняться на диске и при переустановке пакетов,​ потребуется их выкачивать заново</​note>​ +<note important>​Кэш apt не будет сохраняться на диске и при переустановке пакетов,​ потребуется их выкачивать заново. Кроме того это не сильно поможет нашему SSD, т.к. пакеты сжатые,​ а при установке занимают в 5-10 раз больше места, чем в архиве. Также это увеличит использование ОЗУ. После включения убедитесь,​ что в системе хватает памяти для выполнения ваших задач</​note>​ 
-<code>tmpfs   /run tmpfs   ​defaults ​       0       0</code+====== Дефрагментация BTRFS со сжатием файлов ====== 
-<​code>​tmpfs   /tmp tmpfs   ​defaults ​       0       0</​code>​+<note important>Для SSD не требуется дефрагментация. В данном случае она применена для того, чтобы сжать файлы уже установленной системы</note> 
 + 
 +Для выполнения нужно загрузиться в живую сессию,​ примонтировать раздел с BTRFS и применить команду дефрагментации со сжатием:​ 
 + 
 +<​code>​sudo btrfs fi def -clzo -r /media/<​путь до раздела btrfs>/​{@,​@home}</​code>​ 
 + 
 +У себя я получил коэффициент сжатия 0.63, было 5.21 ГБ, стало 3.7 ГБ, т.е. в 1.5 раза меньше запись на SSD в процессе дальнейшей работы. Замечу,​ что я не храню на SSD плохо сжимаемые файлы - аудио, видео, фото и т.п., они размещены на другом разделе. 
  
-<note important>​Эти настройки увеличат использование ОЗУ. После включения убедитесь,​ что в системе хватает памяти для выполнения ваших задач</​note>​ 
 ====== Отключение дискового кэша в браузерах ====== ====== Отключение дискового кэша в браузерах ======
  
Строка 60: Строка 71:
 Настройки -> Дополнительные инструменты -> Инструменты разработчика (<​key>​C</​key>​+<​key>​S</​key>​+<​key>​I</​key>​) -> Настройки (значек шестеренки) -> поставить галочку Disable cache (while DevTools is open) Настройки -> Дополнительные инструменты -> Инструменты разработчика (<​key>​C</​key>​+<​key>​S</​key>​+<​key>​I</​key>​) -> Настройки (значек шестеренки) -> поставить галочку Disable cache (while DevTools is open)
 ====== Настройка /​etc/​sysctl.conf ====== ====== Настройка /​etc/​sysctl.conf ======
 +
 +<note important>​Не уверен в актуальности этих настроек. Сам не использую в силу снижения надежности ФС, если их применить. Кто обладает достоверной информацией скорректируйте или поделитесь на форуме в теме обсуждения данной статьи.</​note>​
  
 Открываем **/​etc/​sysctl.conf**:​ Открываем **/​etc/​sysctl.conf**:​
 <​file>​sudo gedit /​etc/​sysctl.conf</​file>​ <​file>​sudo gedit /​etc/​sysctl.conf</​file>​
  
-===== Отложенная запись ===== 
-<note important>​Не уверен в актуальности этих настроек. Кто обладает достоверной информацией скорректируйте или поделитесь на форуме в теме обсуждения данной статьи.</​note>​ 
- 
-<note warning>​Включение этих параметров уменьшает надежность системы,​ есть риск потери данных за последние 60 секунд в случае сбоя питания,​ паники ядра и т.п.</​note>​ 
- 
-Ядро будет копить данные,​ ожидающие записи на диск, и записывать их либо при острой необходимости,​ либо по истечении таймаута. Я выбрал для себя 60 секунд. 
- 
-Добавляем в конец файла: 
-<​file>​vm.laptop_mode = 5 
-vm.dirty_writeback_centisecs = 6000</​file>​ 
-Для применения изменений 
-<​code>​ 
-sudo sysctl -p 
-</​code>​ 
-или перезагрузите ОС. 
  
 ===== Приоритет использования swap ===== ===== Приоритет использования swap =====
-Если памяти маловато,​ то можно просто уменьшить агрессивность свопинга. В **/​etc/​sysctl.conf** добавляем строчку +Если памяти маловато,​ то можно просто ​попробовать ​уменьшить агрессивность свопинга ​процессов (за счет уменьшения буферов и кешей). В **/​etc/​sysctl.conf** добавляем строчку 
-<​file>​vm.swappiness=10</​file>​Параметр управляет процентным соотношением свободной памяти ​при котором начнётся свопинг.+<​file>​vm.swappiness=10</​file>​В некоторых случаях это может помочь. Более подробно про ​vm.swappiness ​можно почитать [[https://​help.ubuntu.ru/​wiki/​swap#​%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80_vmswappiness|тут]]
  
 <note important>​Хотя,​ если у вас мало ОЗУ и вы купили себе SSD... то вы поступили не верно.</​note>​ <note important>​Хотя,​ если у вас мало ОЗУ и вы купили себе SSD... то вы поступили не верно.</​note>​
Строка 91: Строка 89:
  
 sdX - ваш SSD. sdX - ваш SSD.
 +
  
 ====== Источники ====== ====== Источники ======
 +[[https://​help.ubuntu.ru/​wiki/​btrfs]]
 +
 [[http://​ru.wikipedia.org/​wiki/​TRIM]] [[http://​ru.wikipedia.org/​wiki/​TRIM]]
  
Строка 108: Строка 109:
  
 [[http://​emulek.blogspot.ru/​2013/​04/​ssd.html]] [[http://​emulek.blogspot.ru/​2013/​04/​ssd.html]]
 +
 +[[https://​wiki.archlinux.org/​index.php/​btrfs]]
 +
 +[[http://​vasilisc.com/​ssd_ubuntu]]
 +
 +[[https://​wiki.debian.org/​SSDOptimization]]
 +
 +[[https://​btrfs.wiki.kernel.org/​index.php/​Mount_options]]
 +
 +[[http://​askubuntu.com/​questions/​391753/​why-ubuntu-doesnt-turn-on-trim-for-ssd-by-default]]
  
 {{tag>​устройства_для_хранения_данных SSD fstab}} {{tag>​устройства_для_хранения_данных SSD fstab}}