Оптимизация Ubuntu (и Linux ов) под SSD. Ubuntu оптимизация ssd


Настройка диска ssd в ubuntu в связке с hdd

Хочу поделиться опытом настройки диска ssd в Ubuntu. А также развеять мифы оптимизации. К тому же расскажу о монтировании дополнительного диска hdd, чтобы хранить большие объемы информации.

На свой ноутбук купил ssd диск, к тому же вместо оптического привода вставил hdd диск на 500 гигабайт, чтобы хранить фильмы, музыку, фотки.

1. Выравнивание диска ssd.

Итак, хотелось бы сказать про то, что на многих сайтах советуют выравнивать диски ssd. Хочу вас уверить, что и fdisk и gparted и стандартный менеджер разбивки дисков при установке ubuntu автоматически выравнивают разделы.

Вот таким образом я разбил свой диск ssd:

Для корневого раздела "/" выделил стандартно 40 гигабайт.Для "swap" 4 гигабайта. (swap это хорошее дело на ssd, дальше опишу почему)Для "/home" домашнего каталога - все остальное.

(Первый раздел это 200 мегабайт - загрузочный раздел для uefi. В следующей статье расскажу как легко и просто поставить ubuntu на uefi)

Так вот, проверяется диск на выравнивание выполнением следующей команды в консоле:sudo parted /dev/sda align-check opt 1Если будет выдано следующее сообщение:

"aligned", то значит ваш диск выравнен.И не надо читать кучу форумов об этом, сидеть с калькулятором и вымерять, все делается автоматически, при использовании популярных программ, таких как gparted, gdisk, fdisk или менеджер дисков установщика.

2. Swap раздел нужен на ssd.

Работа со swap в Ubuntu идёт примерно ~40:1 чтение:запись.Поэтому не нужно объяснять, что чтение с ssd диска будет идти быстрее, чем с hdd.Единственное, что нужно сделать, это изменить параметр swappiness на значение 10. О том, как это можно сделать, написано в этой моей статье:

3. Настройка Trim.

О том, что такое Trim, можно почитать на википедии.Скажу лишь, что это команда, которая посылает контроллеру информацию о том, где уже были удалены файлы и освобождено место, чтобы очистить информацию на диске.

Если TRIM не работает, накопитель узнает об удалении файла только в тот момент, когда ОС прикажет ему перезаписать LBA, покрывающий ставший ненужным файл.

Вся суть сводится к тому, чтобы включить это.Для начала нужно проверить, поддерживает ли ваш ssd Trim, делается это выполнение следующей команды в терминале:sudo hdparm -I /dev/sda | grep "TRIM supported"Если в результате будет сообщение "Trim supported":

То можно перейти к самой настройке включения.
Можно запускать в ручную командой:sudo fstrim / -vВыполнение может занять какое-то время, в случае успешности операции, вы увидите следующее сообщение: То значит Trim был успешно выполнить.

Автоматическое включение можно настроить добавление discard в опции монтирования fstab, об этом расскажу ниже. (Но многие говорят, что это плохой способ)Либо создав задачу в Cron (менеджере задач по расписанию):Создаем ежедневную задачу с именем "trim" следующей командой:sudo gedit /etc/cron.daily/trim И в открывшийся текстовый файл вставляем следущее:

#!/bin/shLOG=/var/log/trim.logecho "*** $(date -R) ***" >> $LOGfstrim -v / >> $LOGfstrim -v /home >> $LOG После чего, сохраняем и закрываем.Теперь сделаем данный файл исполняемым следующей командой:sudo chmod +x /etc/cron.daily/trimТеперь ubuntu будет каждый день выполнять trim.Не советую добавлять параметр discard в опции монтирования fstab.

Стоит упомянуть, что Trim в linux работает только со следующими файловыми системами: ext4 и btrfs.

4. Монтирование разделов в fstab.При загрузке системы, у вас монтируются диски и разделы, которые указаны в файле:

/etc/fstab В принципе, если у вас один жесткий диск ssd, то можете смело им пользоваться без тех настроек, что описаны в данном пункте.Я в данном файле примонтировал второй жесткий диск, для того, чтобы примонтировать каталоги Музыка, Видео и Изображения, которые будут весить много места и на sdd они все не поместятся.Ну и еще можно переместить на hdd с ssd каталог /var, так как в него пишется очень много всякого, например логи и деб пакеты перед установкой программ.

Отредактируем данный файл, выполнив следующую команду в терминале:sudo gedit /etc/fstabОткроется текстовый файл, где перечислены монтируемые устройства:У меня он вот такой (кликните по изображению для увеличения):

Разберем теперь как примонтировать (подключить) новый жесткий диск к системе.Это у меня делается следующей строчкой: UUID="5cfa4dbd-fca2-470a-a785-ebc56cd29387" /diskette ext4 defaults 0 2 Разберем данную команду подробнее.1 параметр. Это UUID устройства. Увидеть его можно либо в gparted щелкнув по разделу дважды мышкой. Либо выполнив в терминале команду:blkidИ появится весь список устройств с UUID: Мне нужен выделенный раздел жесткого диска, в этой строчке выделяем наш UUID и прописываем в первом параметре.

2 параметр. Это точка монтирования.Это папка, через которую будет производиться обращение к разделу. В принципе, может быть любой.Прежде чем монтировать в какую-либо папку, не забудьте ее создать.Например в моем случае этоsudo mkdir /diskette

3 параметр. Это файловая система. Думаю объяснения не нужно, если не уверены как пишется или не знаете, то для ленивых есть параметр "auto".

4 параметр. Это параметры монтирования. В принципе достаточно defaults.Вот какие параметры можно использовать: exec - Разрешение на запуск исполняемых файлов. Опция включена по-умолчанию.noexec - Запрет на запуск исполняемых файлов.auto - Раздел будет автоматически монтироваться при загрузке системы. По-умолчанию.noauto - Раздел не будет автоматически монтироваться при загрузке системы.ro - Монтирование только для чтения.rw - Монтирование для чтения и записи. По-умолчанию.user - Разрешение простым пользователям монтировать/демонтировать этот раздел.nouser - Запрещает простым пользователям монтировать/демонтировать этот раздел. По-умолчанию.defaults - Использование всех параметров по-умолчанию.discard - Включает Trim на раздела с ФС ext4 и btrfs (очень не рекомендуется)

5 параметр. Флаг бэкапа.Если 1 - то программа dump включит этот раздел при резервном копировании.Если 0 - то этот раздел не будет включен при резервном копировании.

6 параметр.  Порядок проверки разделов.Устанавливает порядок проверки раздела при монтировании на наличие ошибок. Если установить один и тот же порядок для двух разделов, они будут проверяться одновременно.Если 0 - раздел не проверяется.

Таким вот образом можно примонтировать новый жесткий диск к определенному каталогу в систему.

Но если мы выставили параметр монтирования defaults, то на данном жестком диске мы не сможем выполнять операции создания и удаления.Для этого нам нужно получить права на новый диск, делается это очень просто, выполняем в терминале команду:sudo chmod -R 777 /diskette/естественно в команде вместо /diskette/ вы указываете свою точку монтирования. 

И теперь, когда мы примонтировали жесткий диск, мы можем перегрузиться и проверить что он монтируется.Теперь вот можно перейти к самому интересному. А именно к монтированию каталогов. Переносу Музыка, Видео, Загрузки на HDD, потому что на нем намного больше места.Почему не перенести всю папку home? Потому что в ней хранятся файлы конфигураций и многое другое, высокая скорость чтения которых обязательна. Иначе зачем вообще покупать ssd?

Монтируются каталоги следующим способом.В каталоге точки монтирования, у меня это /diskette/ создаем каталоги с такими же названиями Музыка, Видео и тдПосле чего прописываем следующую команду:

/diskette/Музыка /home/edward/Музыка none bind 0 0 Разберем данный случай для монтирования каталогов,первым параметром мы указываем нашу новую папку на HDD, которая монтируется в каталог домашней папки Музыка.Обязательные параметры none bind 0 0.Таким образом вы можете прописать и другие каталоги по желанию.

Вот что получилось в моем случае:

В домашний каталог можно записать всего лишь 77 гигабайт, а в папку Видео можно записать почти 500 гигабайт информации.

Вот таким образом можно настроить свою систему.

Больше ничего делать не нужно с ssd. Не нужно настраивать commit, atime и прочую ересь, что несут в других блогах. Это все было актуально на старых моделях ssd, когда они только появились.

Вообще забудьте, что у вас SSD. Просто пользуйтесь им. 

segaawakens.blogspot.com

Оптимизация Ubuntu (и прочих Linux-ов) под SSD - 3 Октября 2011 - Дневник

Первое, с чего стоит начать — это выбор файловой системы. Если система на десктопе — то особо вопросов не возникает — брать журналируемую ext4 — у которой масса преимуществ перед остальными ФС. Да, будет больше циклов записи на носитель, но будет гарантия того, что в случае сбоя питания вы не потеряете данные. На ноутбуках, нетбуках — имеются батареи, и вероятность отключения из-за потери питания — практически нулевая (но, конечно, всякое бывает), в связи с чем журналирование, обычно рекомендуют отключать. Если это очень хочется сделать, то после установки системы грузимся с liveCD, и пишем в терминалеtune2fs -O ^has_journal /dev/sda1e2fsck -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 0tmpfs /var/tmp tmpfs defaults 0 0tmpfs /var/lock tmpfs defaults 0 0tmpfs /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 прослужит вам верой и правдой, и с каждым стартом будет радовать хорошей скоростью.

Многи замечают о необходимости выравнивания разделов.

http://wiki.archlinux.org/index.php/SSD#Partition_Alignment

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

Внизу — несколько ссылок, по которым получал информацию.

vasilisc.com/ssd_ubuntutokarchuk.ru/2011/01/enable-trim-support-in-ubuntu/sites.google.com/site/linuxoptimization/home/ssd

Источник статьи http://habrahabr.ru/blogs/linux/129551/

debian.3dn.ru

ssd в Ubuntu

Хочу поделиться опытом настройки диска ssd в Ubuntu. А также развеять мифы оптимизации. К тому же расскажу о монтировании дополнительного диска hdd, чтобы хранить большие объемы информации.

На свой ноутбук купил ssd диск, к тому же вместо оптического привода вставил hdd диск на 500 гигабайт, чтобы хранить фильмы, музыку, фотки.

1. Выравнивание диска ssd.

Итак, хотелось бы сказать про то, что на многих сайтах советуют выравнивать диски ssd. Хочу вас уверить, что и fdisk и gparted и стандартный менеджер разбивки дисков при установке ubuntu автоматически выравнивают разделы.

Вот таким образом я разбил свой диск ssd:

Для корневого раздела "/" выделил стандартно 40 гигабайт.Для "swap" 4 гигабайта. (swap это хорошее дело на ssd, дальше опишу почему)Для "/home" домашнего каталога - все остальное.

(Первый раздел это 200 мегабайт - загрузочный раздел для uefi. В следующей статье расскажу как легко и просто поставить ubuntu на uefi)

Так вот, проверяется диск на выравнивание выполнением следующей команды в консоле:sudo parted /dev/sda align-check opt 1Если будет выдано следующее сообщение:

"aligned", то значит ваш диск выравнен.И не надо читать кучу форумов об этом, сидеть с калькулятором и вымерять, все делается автоматически, при использовании популярных программ, таких как gparted, gdisk, fdisk или менеджер дисков установщика.

2. Swap раздел нужен на ssd.

Работа со swap в Ubuntu идёт примерно ~40:1 чтение:запись.Поэтому не нужно объяснять, что чтение с ssd диска будет идти быстрее, чем с hdd.Единственное, что нужно сделать, это изменить параметр swappiness на значение 10. О том, как это можно сделать, написано в этой моей статье:

3. Настройка Trim.

О том, что такое Trim, можно почитать на википедии.Скажу лишь, что это команда, которая посылает контроллеру информацию о том, где уже были удалены файлы и освобождено место, чтобы очистить информацию на диске.

Если TRIM не работает, накопитель узнает об удалении файла только в тот момент, когда ОС прикажет ему перезаписать LBA, покрывающий ставший ненужным файл.

Вся суть сводится к тому, чтобы включить это.Для начала нужно проверить, поддерживает ли ваш ssd Trim, делается это выполнение следующей команды в терминале:sudo hdparm -I /dev/sda | grep "TRIM supported"Если в результате будет сообщение "Trim supported":

То можно перейти к самой настройке включения.
Можно запускать в ручную командой:sudo fstrim / -vВыполнение может занять какое-то время, в случае успешности операции, вы увидите следующее сообщение: То значит Trim был успешно выполнить.

Автоматическое включение можно настроить добавление discard в опции монтирования fstab, об этом расскажу ниже. (Но многие говорят, что это плохой способ)Либо создав задачу в Cron (менеджере задач по расписанию):Создаем ежедневную задачу с именем "trim" следующей командой:sudo gedit /etc/cron.daily/trim И в открывшийся текстовый файл вставляем следущее:

#!/bin/shLOG=/var/log/trim.logecho "*** $(date -R) ***" >> $LOGfstrim -v / >> $LOGfstrim -v /home >> $LOG После чего, сохраняем и закрываем.Теперь сделаем данный файл исполняемым следующей командой:sudo chmod +x /etc/cron.daily/trimТеперь ubuntu будет каждый день выполнять trim.Не советую добавлять параметр discard в опции монтирования fstab.

Стоит упомянуть, что Trim в linux работает только со следующими файловыми системами: ext4 и btrfs.

4. Монтирование разделов в fstab.При загрузке системы, у вас монтируются диски и разделы, которые указаны в файле:

/etc/fstab В принципе, если у вас один жесткий диск ssd, то можете смело им пользоваться без тех настроек, что описаны в данном пункте.Я в данном файле примонтировал второй жесткий диск, для того, чтобы примонтировать каталоги Музыка, Видео и Изображения, которые будут весить много места и на sdd они все не поместятся.Ну и еще можно переместить на hdd с ssd каталог /var, так как в него пишется очень много всякого, например логи и деб пакеты перед установкой программ.

Отредактируем данный файл, выполнив следующую команду в терминале:sudo gedit /etc/fstabОткроется текстовый файл, где перечислены монтируемые устройства:У меня он вот такой (кликните по изображению для увеличения):

Разберем теперь как примонтировать (подключить) новый жесткий диск к системе.Это у меня делается следующей строчкой: UUID="5cfa4dbd-fca2-470a-a785-ebc56cd29387" /diskette ext4 defaults 0 2 Разберем данную команду подробнее.1 параметр. Это UUID устройства. Увидеть его можно либо в gparted щелкнув по разделу дважды мышкой. Либо выполнив в терминале команду:blkidИ появится весь список устройств с UUID: Мне нужен выделенный раздел жесткого диска, в этой строчке выделяем наш UUID ипрописываем в первом параметре.

2 параметр. Это точка монтирования.Это папка, через которую будет производиться обращение к разделу. В принципе, может быть любой.Прежде чем монтировать в какую-либо папку, не забудьте ее создать.Например в моем случае этоsudo mkdir /diskette

3 параметр. Это файловая система. Думаю объяснения не нужно, если не уверены как пишется или не знаете, то для ленивых есть параметр "auto".

4 параметр. Это параметры монтирования. В принципе достаточно defaults.Вот какие параметры можно использовать: exec - Разрешение на запуск исполняемых файлов. Опция включена по-умолчанию.noexec - Запрет на запуск исполняемых файлов.auto - Раздел будет автоматически монтироваться при загрузке системы. По-умолчанию.noauto - Раздел не будет автоматически монтироваться при загрузке системы.ro - Монтирование только для чтения.rw - Монтирование для чтения и записи. По-умолчанию.user - Разрешение простым пользователям монтировать/демонтировать этот раздел.nouser - Запрещает простым пользователям монтировать/демонтировать этот раздел. По-умолчанию.defaults - Использование всех параметров по-умолчанию.discard - Включает Trim на раздела с ФС ext4 и btrfs (очень не рекомендуется)

5 параметр. Флаг бэкапа.Если 1 - то программа dump включит этот раздел при резервном копировании.Если 0 - то этот раздел не будет включен при резервном копировании.

6 параметр.  Порядок проверки разделов.Устанавливает порядок проверки раздела при монтировании на наличие ошибок. Если установить один и тот же порядок для двух разделов, они будут проверяться одновременно.Если 0 - раздел не проверяется.

Таким вот образом можно примонтировать новый жесткий диск к определенному каталогу в систему.

Но если мы выставили параметр монтирования defaults, то на данном жестком диске мы не сможем выполнять операции создания и удаления.Для этого нам нужно получить права на новый диск, делается это очень просто, выполняем в терминале команду:sudo chmod -R 777 /diskette/естественно в команде вместо /diskette/ вы указываете свою точку монтирования. 

И теперь, когда мы примонтировали жесткий диск, мы можем перегрузиться и проверить что он монтируется.Теперь вот можно перейти к самому интересному. А именно к монтированию каталогов. Переносу Музыка, Видео, Загрузки на HDD, потому что на нем намного больше места.Почему не перенести всю папку home? Потому что в ней хранятся файлы конфигураций и многое другое, высокая скорость чтения которых обязательна. Иначе зачем вообще покупать ssd?

Монтируются каталоги следующим способом.В каталоге точки монтирования, у меня это /diskette/ создаем каталоги с такими же названиями Музыка, Видео и тдПосле чего прописываем следующую команду:

/diskette/Музыка /home/edward/Музыка none bind 0 0 Разберем данный случай для монтирования каталогов,первым параметром мы указываем нашу новую папку на HDD, которая монтируется в каталог домашней папки Музыка.Обязательные параметры none bind 0 0.Таким образом вы можете прописать и другие каталоги по желанию.

Вот что получилось в моем случае:

В домашний каталог можно записать всего лишь 77 гигабайт, а в папку Видео можно записать почти 500 гигабайт информации.

Вот таким образом можно настроить свою систему.

Больше ничего делать не нужно с ssd. Не нужно настраивать commit, atime и прочую ересь, что несут в других блогах. Это все было актуально на старых моделях ssd, когда они только появились.

Вообще забудьте, что у вас SSD. Просто пользуйтесь им. 

uraganltd.blogspot.com

Оптимизируем Linux для SSD | Open Source в Татарстане. Linux.

Однажды, я решил перейти на лептоп вместо полноценного десктопа.Причин тому было много — экономия рабочего места, абсолютная индифферентность к игрушкам, требование мобильности системы.К выбору я подошел со всей ответственностью — выбрал себе ноутбук с мощным процессором, несколькими Гб ОЗУ, дискретной видеокартой с поддержкой VDPAU, и т.д.Одного я неучел — скорости работы дисковой подсистемы на ноутбуках в сравнении с десктопами…Мучения продолжались пару месяцев, пока терпение не лопнуло, и я не прикупил себе SSD на 64 Гб на чипах MLC — Patriot SSD Warp 64Gb.

Радости не было предела, однако 10000 циклов перезаписи ячейки — это слишком мало для активно работающей системы, так же как и энергопотребление, которое минимально только при простоях диска. Кроме того, максимальная скорость записи для этого типа дисков достигается только при записи большими блоками — время на случайную перезапись у MLC слишком высокое.Согласно данным тезисам, а так же опираясь на все могущество GNU/Linux мы и будем оптимизировать наш ноутбук. Ну, поехали!Частично информация была найдена на специализированных сайтах и форумах, частично — додумана самому.

Скоростные параметры SSD:godlike:~ # hdparm -i /dev/sda

/dev/sda:

Model=PATRIOT MEMORY 64GB SSD, FwRev=02.10104, SerialNo=DC0208400CDF00009

godlike:~ # dd if=/dev/sda1 of=/dev/null bs=1M61130+1 записей считано61130+1 записей написаноскопировано 64099574784 байта (64 GB), 565.736 c, 113 MB/c

По впечатлениям - программы запускаются почти моментально, система тоже ощутимо быстрее грузится

Про железо свое рассказал, система у меня — openSUSE 11.0/2.6.25.20

1. Выбор файловой системы

 

Наилучший выбор — ZFS, у неё copy-on-write. Такое впечатление, что люди её разрабатывали с оглядкой на SSD.

 

Но, поскольку только маньяки ставят на ноутбуки *BSD, Solaris, ограничимся файловой системой без журналирования.

 

Я выбрал ext2.

 

Журнал нужен для того, чтобы, например при пропадании электропитания, восстановить незавершенные транзакции — чтоб не потерять данные и оставить ФС целостной. Поскольку в ноутбуке присутствует батарея, описанный выше случай практически невозможен, поэтому журнал нам не нужен.

 

Сегодня можно также выбрать ext4 в качестве ФС для SSD, отключив журналирование после установки ОС:

tune2fs -o journal_data_writeback ©heroOfOurTime

2. Временные файлы

 

Постоянная запись временных данных на SSD не пойдет ему на пользу, поэтому добавляем в /etc/fstab следующие строки:

tmpfs /tmp tmpfs defaults 0 0tmpfs /var/tmp tmpfs defaults 0 0tmpfs /var/lock tmpfs defaults 0 0tmpfs /var/spool/postfix tmpfs defaults 0 0

Наши временные файлы буту находиться в ОЗУ, которой на сегодня достаточно, и при перезагрузке удаляться - как и положенно порядочным временным файлам :-).

 

3. Время последнего доступа к файлам

 

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

 

Нужно добавить опцию noatime к точке монтирования ФС на SSD в /etc/fstab, например у меня:

/dev/disk/by-id/ata-PATRIOT_MEMORY_64GB_SSD_DC0208400CDF00009-part1 / ext2 noatime 0 1

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

 

SSD может пребывать только в 2-х режимах - active и suspend. Когда он active - он кушает много энергии, когда в suspend - мало. Поэтому сейчас увеличиваем время нахождения SSD в suspend режиме:

 

Добавляем параметр

vm.laptop_mode=5

в /etc/sysctl.conf.

 

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

 

Увеличить перерыв между записями на диск можно также с помощью поднятия таймаута между сбросом «грязных» буферов (части файлов, измененные программой или пользователем, но еще не записанные на диск). По умолчанию, таймаут равняется 5 секундам, увеличим его до 150. ВНИМАНИЕ: Внезапное выключение ноутбука в этот таймаут приведет к потере

 

незаписанных данных!

 

Добавляем в /etc/sysctl.conf строку:

vm.dirty_writeback_centisecs = 15000

Если вы используете kpowersaved в качестве программы, управляэщей

 

энергосбережением (я использую), то kpowersaved перекроет проведенные

 

изменения. Для предотвращения этого делаем следующее:

 

редактируем файл /etc/powersave/events

 

находим строки с

EVENT_ACADAPTER_ONLINEEVENT_ACADAPTER_OFFLINE

Если они имеют значение "ignore", поменяйте его на

 

"set_dirty_writeback".

 

Создайте файл /usr/lib/powersave/scripts/set_dirty_writeback

 

С таким содержимым:

#!/bin/bash## load helper functions. ${0%/*}/helper_functions

# set vm parameter to required valuesleep 3$LOGGER "set dirty_writeback_centisecs to 15000"echo 15000 > /proc/sys/vm/dirty_writeback_centisecs

# exit in the required manner$script_RETURN $EV_ID 0 "set_dirty_writeback complete"EXIT 0

сделайте его исполняемым.

 

5. Свободное место

 

Увеличиваем свободное место на SSD(которого и так мало=)) на файловых системах ext2/ext3, путем уменьшения количества резервированных секторов:heroOfOurTime

tune2fs -m2 /dev/sda1

6. Логгирование

 

Постоянная записть журнала на SSD также не идет ему на пользу, поэтому комментируем все журналы в /etc/syslogd/syslogd.conf (/etc/syslog-ng/syslog-ng.conf)

 

7. I/O Scheduler

 

©

heroOfOurTime

Для обычных жестких дисков по умолчанию используется логика, которая упорядочивает движение головки под диску, изменяя последовательность записываемых данных. Для SSD это не нужно, поэтому будет весьма разумно выбрать noop в качестве i/o scheduler'а. Это можно сделать выбрать непосредственно в конфиге ядра или передать опцию elevator=noop через груб на этапе загрузки ядра. Или даже через /sys.

 

В openSUSE это делается так:

 

yast->Система->Настройки ядра->параметры ядра->Общий I/O планировщик

 

Выводы

 

Таким образом мы довольно неплохо увеличим живучесть SSD и время автономной работы ноутбука.

 

Postscriptum:

Все делается на свой страх и риск.Все описанные действия проводились на openSUSE 11.0. На других ОС GNU/Linux может быть немного по-другому.

Источник: http://habrahabr.ru/blogs/linux/64682/

www.openkazan.info

Оптимизация Ubuntu (и Linux ов) под SSD

http://habrahabr.ru/post/129551/

Оптимизация Ubuntu (и прочих Linux-ов) под SSD из песочницы

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

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

tune2fs -O ^has_journal /dev/sda1e2fsck -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 0tmpfs /var/tmp tmpfs defaults 0 0tmpfs /var/lock tmpfs defaults 0 0tmpfs /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 прослужит вам верой и правдой, и с каждым стартом будет радовать хорошей скоростью.

UpdateМноги замечают о необходимости выравнивания разделов. Товарищу isden большое спасибо за ссылку на тему. wiki.archlinux.org/index.php/SSD#Partition_AlignmentЕсли не хотите рисковать — то журнал лучше не отключать. Тогда гарантированно будет работать трим, и некоторая защита данных от крупных системных сбоев.

Внизу — несколько ссылок, по которым получал информацию.vasilisc.com/ssd_ubuntutokarchuk.ru/2011/01/enable-trim-support-in-ubuntu/sites.google.com/site/linuxoptimization/home/ssd

Воспользуйтесь TMPFS

На раздел /tmp приходится очень много операций чтения/записи, поэтому рекомендуется перенести его в оперативную память (если, конечно, у вас её достаточно). Для этого откройте файл /etc/fstab:

sudo gedit /etc/fstab

И добавьте такую строчку в конец файла:

tmpfs /tmp tmpfs defaults,noexec,nosuid 0 0

После этого сохраните файл и перезагрузитесь.

www.freedocs.xyz

Какая оптимизация SSD необходима для последней версии Ubuntu? Ubuntu Linux

Дело в том, что прежде всего самая важная часть SSD noatime к минимуму записи на диск, поэтому люди добавляют nodiratime , noatime в файл /etc/fstab .

Во-вторых, работает TRIM который восстанавливает неиспользуемые блоки памяти NAND обратно на SSD. Windows по умолчанию имеет TRIM, AFAIK, поэтому никто не беспокоится об этом. С Ubuntu у него есть недельный cronjob для TRIM, однако, поскольку я узнал из ответа Rinzwind, что работа cron работает только на Intel и Samsung SSD. Вот почему вам нужно отредактировать этот файл /etc/cron.weekly/fstrim чтобы иметь exec fstrim-all --no-model-check , чтобы она работала независимо от того, какая ваша модель SSD.

За последние годы это не изменилось – они все еще являются ключевыми моментами, сводя к минимуму записи и позволяя TRIM.

Удаление записей и дорогостоящее хранение – это два фактора, по которым люди также удаляют область подкачки . По умолчанию Ubuntu создает раздел подкачки, равный вашему размеру оперативной памяти. У меня 128 SSD и 6 ГБ ОЗУ. Это означает, что по умолчанию Ubuntu отменит 6 ГБ с 128 ГБ, оставив 122 ГБ для моей ОС, а 5% обычно зарезервировано для root, так что я оставляю мне 122-122 * 0,05 = 115,9 ГБ для себя. Я мог бы также использовать это хранилище для чего-то другого, поэтому у меня есть только один основной раздел, без раздела подкачки, но у меня есть файл подкачки 512 Мбайт в качестве защитной функции (не то, что я планирую исчерпать ОЗУ, но всегда рекомендуется иметь своп)

Он отлично работает с SSD, который поддерживает TRIM

за 16,04 нет

fstrim-all

простой fstrim не имеет --no-model-check и он отлично работает с sandisk ssd

Единственное, что вам может понадобиться, это добавить --no-model-check в /etc/cron.weekly/fstrim .

Линия должна выглядеть так

exec fstrim-all --no-model-check

Убедитесь, что ваш SSD поддерживает TRIM (почти все последние модели)

sudo hdparm -I /dev/sda | grep "TRIM supported"

если ваш SSD – /dev/sda . Если это так, добавьте --no-model-check .

Обычно Ubuntu поддерживает твердотельные диски очень хорошо. Если у вас есть Intel или SSMSUNG SSD, автоматическая поддержка обрезки включена по умолчанию.

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

ubuntu.fliplinux.com

Оптимизация Ubuntu (и прочих Linux-ов) под SSD

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

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

tune2fs -O ^has_journal /dev/sda1e2fsck -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 0tmpfs /var/tmp tmpfs defaults 0 0tmpfs /var/lock tmpfs defaults 0 0tmpfs /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 прослужит вам верой и правдой, и с каждым стартом будет радовать хорошей скоростью.

megastar.in.ua


Prostoy-Site | Все права защищены © 2018 | Карта сайта