Ssd Linux mint

Статьи / Linux

Нужно очень внимательно выполнить инструкцию!
Для /boot мы выбираем 600 Мегабайт(МиБ),
а для / 60000 Мегабайт(МиБ), что соответствует ~60 гигабайт.
SSD должен быть размером не менее 80Gb, а лучше взять 128.
Подумайте дважды и перепроверьте, прежде чем жать окончательно на выполнение в конце.
1. Берем чистый SSD и подключаем.
2. Грузимся в Gparted и находим неразмеченный диск SSD, его размер будет меньше (на ~10Gb, или другая цифра …), чем написано на коробке от производителя.
3. Тыкаем в Устройство->Создать таблицу разделов
4. Выбираем GPT
5. Тыкаем в неразмеченное пространство правой клавишей мыши и выбираем «новый»
Свободное место 1 МиБ (обязательно, не забыть)
Новый размер 600 МиБ
Свободное место после 0 МиБ
Выровнять по МиБ
Основной раздел
Файловая система ext4
Метка /boot
далее …
6. Тыкаем в неразмеченное пространство правой клавишей мыши и выбираем «новый»
Свободное место 0 МиБ
Новый размер 60000 МиБ
Свободное место после 0 МиБ
Выровнять по МиБ
Основной раздел
Файловая система ext4
Метка /
7. Правка -> Выполнить все операции
Диск готов для начала установки (K)Ubuntu Убунту на SSD.
PS: fdisk не понимает GPT, поэтому если вы в дальнейшем попробуете проверить диск в нем, то он скажет, что «моя — твоя не понимай!»
Можно выбрать MBR. Про различия читайте на вики.
8. Пишем на флешку, через Unetbootin, iso образ нужной нам (k)ubuntu и перезагружаемся.
9. В BIOS выставляем режим AHCI, вместо IDE.
10. Выбираем boot загрузку c Flash … название вашей флешки
11. Старт(try) k(ubuntu), ни в коем случае не install(установка). Инстолятор часто глючит и может вывалится в любой момент, придется перезагружать систему. В данном случае можно просто запустить его снова. У меня упал трижды, но потом все встало без проблем.
12. Загрузились в убунту, а вот теперь кликаем по иконке install kubuntu (install ubuntu)
13. Открылся установщик, выбираем язык
14. далее Ручную разбивку диска(manual)
/ ext4 ssd
/boot ext4 ssd
/var ext4 hdd
/home ext4 hdd
Везде ставим галку форматировать. Почему? Потому, что если вы уже загружались в старую убунту или другую ось, она могла примонтировать ваш диск и записать туда всякий мусор, вам не нужный. Поэтому форматим (минутное, даже возможно секундное дело)
Загрузчик ставим либо туда куда понимаем, либо по умолчанию.
Система ставится…
Если система не встала, то следует более подробно прочитать инструкцию и возможно углубиться в изучение манов, терминов и подробно разобраться в ssd,gpt,uefi,ahci …
Если (к)убунта установилась, но грузиться старая, делаем «ход конем», ищем на новом диске текстовый файл /boot/grub/grub.cfg копируем его содержимое и заменяем текст в старом /boot/grub/grub.cfg
При этом старый нужно обязательно перед копированием куда-то сохранить еще, на флешку, на другой диск, на CD … куда угодно, но сохранить обязательно нужно, чтобы восстановить в случае если «ход конем» не сработает.
После загрузки:
правим /etc/fstab

Хочу поделиться опытом настройки диска 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/sh
LOG=/var/log/trim.log
echo «*** $(date -R) ***» >> $LOG
fstrim -v / >> $LOG
fstrim -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. Просто пользуйтесь им.

Установка Ubuntu Linux на SSD.

Многие слышали, что на рынке появились твердотельные жёсткие диски без движущихся частей, SSD диски. Они пока относительно дорогие и объем не велик, но операционная система на них просто летает, а тяжёлые приложения стартуют в разы быстрее, чем с обычных HDD. Чем достигается такое волшебство?

У SSD нет головок, которые необходимо позиционировать над затребованными данными и поэтому скорость чтения случайных секторов происходит намного быстрее. А как показывает практика, именно работа с мелкими файлами, расположенных в разных местах диска — это обычный портрет работы операционной системы.

Лучшее решение на сегодняшний день — это покупка SSD для операционной системы и хранение личных и медиа файлов на обычных HDD.
Вот и я решился купить себе SSD диск для Ubuntu. Много прочёл про этот новый вид дисков — твердотельные накопители. Хотел модель Intel X25-V, но денег как всегда мало, пришлось приобрести модель OCZ «Onyx» OCZSSD2-1ONX32G с контроллером Indilinx Amigos, про который много отрицательного не пишут.

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

Выравнивание разделов на SSD

Суть проблемы в том, что если начало разделов в секторах не кратно размеру кластера файловой системы, то резко падает производительность при чтении/записи с диска, а в случае с SSD диском ещё и увеличивается износ диска. То есть когда разделы не выравнены, то кластер файловой системы занимает несколько секторов и тем самым увеличивается количество операций чтения/записи. Подробнее об этой проблеме выравнивания разделов лучше прочесть в Интернете. Главное запомнить простое правило: создаёте раздел — его стартовый сектор должен делиться на 8 без остатка.
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdh1 2048 514047 256000 83 Linux
/dev/sdh2 514048 55810047 27648000 83 Linux

Начальные сектора 2048 и 514048 кратны 8! Я использовал fdisk и в нём создал разделы /boot, / и swap. Из статьи на Хабре выяснил, что работа со swap в современных операционных системах идёт примерно ~40:1 чтение:запись. Поэтому размещение swap на SSD это отличная идея. Чуть позже мы заставим Ubuntu Linux меньше использовать swap, а больше быструю ОЗУ.

Некоторое место на вашем SSD зарезервировано и недоступно вам, это место будет использовано для замены износившихся во время записи-перезаписи ячеек. Во время разметки диска, я оставил не размеченой область ~3,5 Гб, чтобы контроллеру диска было чем заменять, в далёком будущем, вышедшие из строя ячейки. Вам так же рекомендую не жадничать и при разметке оставить чуток не размеченной области.

Оптимизация Ubuntu для SSD

Если у вас есть UPS, он же ИБП, то можно применить советы из Ускорение Ubuntu.

Параметр discard.
Включает полезную команду TRIM и настоятельно рекомендуется к применению к различным файловым системам. discard нужно указать в /etc/fstab. Разработчики многих дистрибутивов linux обсуждали иногда возникающую проблему с discard, которая приводит к падению производительности. Альтернативным путём является вызов fstrim из cron. Пробуйте и выбирайте своё!

Параметр ssd для btrfs.
Указывайте для файловых систем btrfs в /etc/fstab.

Параметр commit=600.
Замечательный параметр commit равный 600 можно применять ко многим файловым системам и commit указывает на сброс грязных файловых буферов каждые 10 минут (600). Настоятельно рекомендуется иметь ИБП. commit=600 нужно указать в /etc/fstab.

barrier=0
Код файловой системы обязан перед созданием записи фиксации быть абсолютно уверенным, что вся информация о транзакции помещена в журнал. Просто делать запись в правильном порядке недостаточно; современные диски имеют кэш большого объёма и меняют порядок записи для оптимизации производительности. Поэтому файловая система обязана явно сообщить диску о необходимости записать все журнальные данные на носитель перед созданием записи фиксации; если сначала будет создана запись фиксации, журнал может быть повреждён. Блокирующая система ввода-вывода ядра предоставляет такую возможность благодаря использованию механизма «шлагбаумов» (barriers); проще говоря, «шлагбаум» запрещает запись любых блоков, посланных после него, до того момента, как всё, что было прислано перед «шлагбаумом», будет перенесено на носитель. При использовании «шлагбаумов» файловая система может гарантировать, что всё, что находится на диске, целостно в любой момент времени. Отключая шлагбаум barrier=0, мы ускоряем операции записи на разделы.
barrier=0 нужно указать в /etc/fstab.

Для btrfs указывайте nobarrier.

LVM.
Если вы используете технологию LVM, то нужно указать в /etc/lvm/lvm.conf параметр issue_discards = 1.

Preload.
Демон, кешируюший обращения к файлам и ускоряющий IO вывод. В SSD диске нет вращающихся блинов и считывающих головок, то желательно в /etc/preload.conf изменить параметр и привести его к виду sortstrategy = 0. Этим самым вы прикажете не производить сортировку очереди запросов, так как для SSD это не имеет смысла. Перезапустите preload — sudo /etc/init.d/preload restart

Увеличим сброс грязных буферов vm.dirty_writeback_centisecs = 15000 в /etc/sysctl.conf.

У демонов журналирования rsyslogd или syslogd перед всеми путями к журналам поставим знак минус и заставим не делать sync после добавления одной строки в журнал. Демон ведения журналов syslog (а также идущий ему на смену — rsyslog) пишет журналы в каталоге /var/log/ и добавив одну строку делает операцию sync, которая сводит на нет кэш диска и более долгий сброс буферов. Можно изменить поведение демона и указать не делать sync после каждого добавления. Найдите файл конфигураций демона, обычно это /etc/syslog.conf или /etc/rsyslog.d/ и все пути вида /var/log/что-то-там/ измените, дописав знак минус («-«) перед путями.

В файл /etc/sysctl.conf в конец файла вставьте строку vm.swappiness = 10 и тем самым заставьте Ubuntu Linux больше занимать ОЗУ, чем swap. Как это достигается подробно расписано в Ускорении Ubuntu.

По умолчанию в Ubuntu Linux в качестве файлового планировщика используется CFQ, он старается минимизировать перемещения головок, но у SSD нет движущихся частей и CFQ не нужен. Нужно в файле /etc/default/grub добавить elevator=noop и получить строку, типа GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash elevator=noop». Не забудьте sudo update-grub

Теперь перезагрузка вашего ПК и получите оптимизированную под плюсы и скрывающая минусы SSD систему Ubuntu Linux. Порадуйте себя скоростью SSD sudo hdparm -t /dev/ваш_диск_ssd

Советы SSD

1) Меньше пишешь на SSD, лучше.

2) Постоянная запись множества мелких файлов — самое большое зло для SSD. Запись на SSD производится блоками (вплоть до 128 Кб) и маленькие файлы вынуждают стирать блоки большего размера.

3) Располагать раздел подкачки на SSD можно и нужно. Работа с подкачкой характеризуются большим количеством чтения по сравнению с записью (40 к 1), и относительно большими объемами записи, так что пользы от гораздо более быстрого доступа к данным больше, чем вреда.

4) Если команда iotop часто показывает запись процесса в раздел, находящийся на SSD, сделай так, чтобы процесс туда писал реже или вообще не писал. Не бойся редкой записи — бойся постоянной, периодической записи. Смотри п.п 1.

5) Забудь про дефрагментацию, её больше для тебя не существует. Если увидел слово онлайн дефрагментация или дефрагментация на-лету, найди и выключи это.

6) В Ubuntu Linux кроме системного индексатора updatedb, остальные индексаторы хранят файлы-базы-данных в домашнем каталоге. Подумайте о необходимости этих индексаторов-поисковиков, если не нужны — отключайте/удаляйте.

Отличный видеоматериал, правда на английском языке, но всё понятно из самого видео и открытых окон как оптимизировать Linux для SSD.

Linux optimization

Оптимизация системы под SSD

Вводная

Однажды я решил перейти на лэптоп вместо полноценного десктопа.

Причин тому было много — экономия рабочего места, абсолютная индифферентность к игрушкам, требование мобильности системы.

К выбору я подошел со всей ответственностью — выбрал себе ноутбук с мощным процессором, несколькими Гб ОЗУ, дискретной видеокартой с поддержкой VDPAU, и т.д.

Одного я не учел — скорости работы дисковой подсистемы на ноутбуках в сравнении с десктопами…

Мучения продолжались пару месяцев, пока терпение не лопнуло, и я не прикупил себе SSD на 64 Гб на чипах MLC — Patriot SSD Warp 64Gb.

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

Согласно данным тезисам, а так же опираясь на все могущество GNU/Linux мы и будем оптимизировать наш ноутбук. Ну, поехали!

Частично информация была найдена на специализированных сайтах и форумах, частично — додумана мной.

Скоростные параметры SSD:

hdparm -i /dev/sda
/dev/sda:
Model=PATRIOT MEMORY 64GB SSD, FwRev=02.10104, SerialNo=DC0208400CDF00009
dd if=/dev/sda1 of=/dev/null bs=1M
61130+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

а так же, в случае ext4, добавить опцию «discard», например

/dev/sda2 / ext4 noatime,nodiratime,discard 1 1

если выбор пал на btrfs, то к опциям следует добавить «ssd»

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

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

tmpfs /tmp tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0
tmpfs /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,nodiratime 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 перекроет проведенные

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

редактируем файл

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

EVENT_ACADAPTER_ONLINE
EVENT_ACADAPTER_OFFLINE

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

«set_dirty_writeback»

Создайте файл

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

#!/bin/bash
#
# load helper functions
. ${0%/*}/helper_functions
# set vm parameter to required value
sleep 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, путем уменьшения количества резервированных секторов:

tune2fs -m2 /dev/sda1

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

Постоянная запись журнала на SSD также не идет ему на пользу, поэтому комментируем все журналы в

/etc/syslogd/syslogd.conf (/etc/syslog-ng/syslog-ng.conf)

7. I/O Scheduler

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

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

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

Выводы

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

Все делается на свой страх и риск.

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

в ядрах 2.6 ветки есть параметр swappiness — он определяет агрессивность свопинга.

дефолтное значение 60 — это много и для SSD (просто износится раньше — вспомните readyboost в висте-тот же своп на флэш носитель-флэшка умирает через несколько месяцев) и для медленных «железных» винтов, да и зачем свопить если памяти больше половины свободно?ведь это лишний раз нагружает ввод-вывод и скорость чтения-записи резко падает.

т.е. если память забита и мы запускаем программу (особенно большую) винту приходится одновременно и считывать библиотеки и данные для запускаемой программы и записывать в своп «устаревшие» страницы — отсюда долгие запуски софта и снижение отзывчивости системы.

выход: в

добавляем строчку

vm.swappiness=10 (например)

очень маленькое значение при малом обьёме оперативной памяти может вызвать при сборке большого проекта или запуске тяжёлого софта out of memory! (не страшно,но тот же тяжёлый софт так и не запустится)и так же в случае активного своппинга можно получить фризы

есть ещё одна возможность отсрочить запись на винт.

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

входит состав 2.6.33 и новее

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *