Війти
Оптимизация Ubuntu (и прочих Linux-ов) под SSD
22.08.2015 | Кат. Linux - Ubuntu, Debian | 609

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

Первое, с чего стоит начать — это выбор файловой системы. Если система на десктопе — то особо вопросов не возникает — брать журналируемую ext4 — у которой масса преимуществ перед остальными ФС. Да, будет больше циклов записи на носитель, но будет гарантия того, что в случае сбоя питания вы не потеряете данные. На ноутбуках, нетбуках — имеются батареи, и вероятность отключения из-за потери питания — практически нулевая (но, конечно, всякое бывает), в связи с чем журналирование, обычно рекомендуют отключать. Если это очень хочется сделать, то после установки системы грузимся с liveCD, и пишем в терминале

tune2fs -O ^has_journal /dev/sda1
e2fsck -f /dev/sda1


Другие способы не рекомендуются — потеряете поддержку TRIM. Также не стоит отключать журнал, добавляя параметр "writeback" в конфигурацию fstab — система не запустится из-за ошибки монтирования (если до этого был включен трим).

Следующее, что нужно учесть — файл подкачки. Под моим никсом (сейчас — убунту 11.04) обычно пишется код, смотрятся фильмы в HD и активно серфится интернет. За это время файл подкачки не понадобился ни разу, максимальное потребление ОЗУ было 1Гб, из 2х доступных в нетбуке.
Если Ваш сценарий использования системы подобен моему, или у Вас не десктоп — файл подкачки не нужен. Иначе стоит его перенести на HDD. Если журналирование еще можно оставить, ввиду его относительной безобидности, то своп-раздел — однозначно зло, сжирающее как ограниченные циклы перезаписи, так и недешевые гигабайты, количеством которых современные SSD пока не могут похвастаться.

Ну вот, система поставлена — можно заниматься оптимизацией! Самый первый шаг — включение TRIM — главная технология, которая должна продлить жизнь и распределить нагрузку SSD.
Делается очень просто — открываем fstab (например так)

gksudo gedit /etc/fstab

ищем строчки
«UUID=[NUMS-AND-LETTERS] / ext4 errors=remount-ro 0 1»
и заменяем на
«UUID=[NUMS-AND-LETTERS] / ext4 disсard,errors=remount-ro 0 1»

Обычно по умолчанию трим отключен, но выкладываю способ проверить — заходим под рут и выполняем команды

1. dd if=/dev/urandom of=tempfile count=10 bs=512k oflag=direct //запись 5Мб рандомных данных

2. hdparm --fibmap tempfile //Ищем любой стартовый LBA адрес у файла

3. hdparm --read-sector [ADDRESS] /dev/sdX //Читаем данные со стартового LBA адреса файла, замените [ADDRESS] на свой Starting LBA address из вывода предыдущей команды

4. rm tempfile //Теперь удалим временный файл и синхронизируем ФС:
5. sync

Повторяем пункт 3 — и смотрим на вывод консоли. Если выведутся нули — то трим работает. Если вы исправили fstab, перезагрузились, но трим не активировался — ищите ошибки в неверном отключении журналирования.

Далее стоит вспомнить о том, что наш никс очень любит вести разнообразные логи. И либо перенести их на HDD, либо держать в ОЗУ до перезагрузки системы. Я считаю, что если у Вас дома не сервер — то оптимален второй вариант, и реализуется он добавлением в fstab следующих строчек
tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/tmp tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /var/spool/postfix tmpfs defaults 0 0


По умолчанию, после каждого открытия файла — система оставляет отметку времени последнего открытия — лишние операции записи. Отучить просто — добавить в fstab перед параметрами
disсard,errors=remount-ro 0
еще парочку опций —
relatime,nodiratime Первая разрешает записывать только время изменения (порой необходимо для стабильной работы некоторых программ), вторая — отменяет запись времени доступа к директориям. В принципе, вместо relatime можно поставить и noatime, который вообще ничего не будет обновлять.

После этого стоит настроить отложенную запись — ядро будет копить данные, ожидающие записи на диск, и записывать их либо при острой необходимости, либо по истечении таймаута. Я ставлю таймаут на 60 секунд, кто-то — на 150.
Для этого открываем /etc/sysctl.conf и добавляем параметры
vm.laptop_mode = 5 // Включение режима
vm.dirty_writeback_centisecs = 6000 время в сСк. Т.е. 100ед = 1секунда

И, напоследок, отключаем I/O планировщик, который был когда-то нужен для лучшего позиционирования головок HDD. Для этого заходит в конфиг граба /etc/default/grub
и в строчку
GRUB_CMDLINE_LINUX_DEFAULT=«quiet splash» вставляем параметр elevator=noop
По пути можно убрать ненужный и малоинформатиынй сплэш-скрин, сократив время старта системы еще на секунду, просто убрав quiet splash.

Вот, в общем основные моменты. Дальше стоит проявить фантазию — например, перенести куда-нибудь, или вовсе отключить кеш браузеров и тд. В награду за проделанные манипуляции Ваш SSD прослужит вам верой и правдой, и с каждым стартом будет радовать хорошей скоростью.


  • Неупокоенность

    …Случилась и со мной во времена моего детства страшная история.Училась я тогда в третьем или четвертом классе. В один прекрасный мартовский день, после школы, мы с подругой отправились к ней домой – делать уроки. Зашли…

  • Осенняя охота: как правильно подготовиться

      Покупка гладкоствольного ружья не означает, что владелец этого ружья стал охотником. Прежде чем приобретать ружьё, необходимо оформить охотничий билет, в охотничьем обществе охотников–любителей. Такое…

  • Проклятие матери

    «Это было в 70-е годы. Училась со мной в одном классе девочка Инна. Большинство девчонок одевалось просто и скромно. Лишь Инна выделялась среди нас. Самые модные и красивые вещи были у нее. Мама ее работала на…

  • Банный день
    Банный день

    Было все это в те времена, когда «у нас в стране секса не было», хотя дети как-то рождались. Однако, должен заметить, что это, не самая сексуальная история моего детства. И случилась она со мной в тринадцатилетнем…

  • Детская агрессия

    Дети, противясь чему-то, «выпускают пар», что чаще всего выливается в совершенно необъяснимую ярость. Год назад Вера разве-лась с мужем. Четы-рехлетний Антон тя-жело переживал раз-луку с папой. Первое вре-мя, пока Вера…

  • Лицо на Марсе

    Человек видит то, что хочет увидеть, а больше всего, утверждает психология, он хочет видеть самого себя. В науке этот феномен психики называется антропоморфизмом, от греческих слов "антропо" - человек и "морфе" - форма. Мы…

  • стихи с 8 марта

    Есть много праздников в стране, Но женский день отдан Весне, Ведь только женщинам подвластно Создать весенний праздник - лаской. Так будьте добрыми, простыми, Всегда с улыбкой на лице! Ну словом, будьте Вы такими, Как…

  • Черная шестерка

    Действительно ли были роковыми предсказания судьбы Пушкина? Когда изобретут машину времени, жизнь, очевидно, станет гораздо скучнее. Ведь мы сможем узнать абсолютно все о каждом. Сойдут с пьедесталов кумиры,…

  • Предсказания (Леонардо)

    866.С. А 145 r. Подразделения предсказаний: Во-первых, о вещах, относящихся к разумным животным, во-вторых — к тем, что лишены силы разума, в-третьих, о растениях, в-четвертых, об обрядах, в-пятых, об обычаях, в-шестых, о…

  • Эротический массаж - возбуждаем друга ручками!
    Эротический массаж - возбуждаем друга ручками!

    Романтическая обстановкаОсвободите квартиру от лишних людей (родителей сошлите на дачу, а младшего брата — к бабушке), отключите телефон и пейджер (как свой, так и подруги), зашторьте окна. Затем зажгите свечи и…


Комментарии

66 + 58 =