- Как оптимизировать Linux для использования с устройствами SSD
- Обновите ваш дистрибутив
- Обновите прошивку устройства SSD
- Используйте файловую систему ext4
- Параметры монтирования во время загрузки
- Не используйте раздел подкачки SWAP
- Заключение
- Оптимизация Linux под SSD
- Разметка диска и файловая система
- I/O планировщик
- Параметры ядра
- Firefox & Chrome
- Кэш пакетных менеджеров
- Читайте другие интересные статьи
- Настройка Ubuntu для работы с SSD
- Содержание
- Настройка Ubuntu для работы с SSD
- Настройка /etc/fstab
- Отключаем swap
- Опции монтирования
- Кэш apt в ОЗУ
- Дефрагментация BTRFS со сжатием файлов
- Отключение дискового кэша в браузерах
- Рекомендации по использованию SSD в Linux
- Размеры разделов
- Форматирование разделов
- Конфигурация отделки
- Вручную
- Настройка /etc/fstab
- Планирование выполнения fstrim
- Монтирование разделов
- Временные каталоги
- Настройка GRUB: вход/выход планировщика
- SWAP или без SWAP?
- Сокращение количества проверок файловых систем
- Испытание Скорости
- Добавить комментарий Отменить ответ
Как оптимизировать Linux для использования с устройствами SSD
Хотите получить максимальную отдачу в Linux от вашего устройства SSD — здесь все то, что вам нужно знать.
Linux сразу из-коробки настроен достаточно хорошо, хотя есть еще ряд настроек, которые для того, чтобы все работало настолько гладко, насколько это возможно, требуют некоторой ручной оптимизации. Наиболее распространенной настройкой является управление энергопотреблением, но еще одной важной настройкой является оптимизация вашей системы под устройства SSD. И ее очень важно сделать, поскольку вас обязательно порадуют хорошо настроенные твердотельные накопители.
Чтобы добиться наилучшей производительности при минимальном износе вашего твердотельного накопителя, попробуйте в вашей системе Linux следующие оптимизационные настройки.
Обновите ваш дистрибутив
Хотя я не думаю, что для большинства это будет новостью, но об этом все еще стоит упомянуть. Для того, чтобы воспользоваться последними возможностями оптимизации в приложениях, ядре, файловой системе и многом другом, лучше использовать самую последнюю версию вашего любимого дистрибутива. Даже если у вас старая, но все еще поддерживаемая версия (например, Ubuntu 12.04), то лучше обновить ее до последней версии (например, 14.04), в которой уже добавлено много изменений, которые делают операционную систему гораздо более дружественной к использования устройств SSD.
Обновите прошивку устройства SSD
Также хорошим решением будет обновление прошивки на вашем устройстве SSD. Инструкции о том, как это сделать, различны у разных изготовителей, так что вам нужно будет найти инструкции для вашего конкретного SSD. Имейте в виду, что для некоторых устройств (но не всех) в Linux нельзя обновлять прошивку; вместо этого, вам для того, чтобы сделать эту работу, потребуется воспользоваться определенной загрузочной средой (похожей на среду с живым Linux) или утилитой для Windows.
Используйте файловую систему ext4
Если вы только что устанавливаете систему Linux, то лучше использовать файловую систему ext4. Это наиболее часто используемая из доступных и наиболее стабильная файловая система, в которой поддерживает режим TRIM (который должен быть включен — подробнее об этом ниже).
С этим проблемы не должно быть: в большинстве дистрибутивов по умолчанию используется ext4.
Параметры монтирования во время загрузки
Каждый раз, когда вы загружаете свою систему Linux, она для того, чтобы можно было пользоваться различными дисковыми устройствами, должна их монтировать на вашем компьютере. Есть различные параметры монтирования, которыми вы можете пользоваться в зависимости от имеющегося у вас оборудования и от ваших потребностей, и некоторые из них целесообразно использовать с устройствами SSD.
Чтобы сделать эти изменения, откройте терминал и выполните команду sudo nano /etc/fstab . Далее, найдите раздел (разделы) вашего устройства (устройств) SSD, которые перечислены в этом файле. Разделы в нем обычно перечисляются по идентификаторам устройств UUID, что является более точным, чем система идентификации /dev/sdXY . Если у вас есть несколько разделов, вы для того, чтобы найти UUID, можете использовать команду blkid /dev/sdXY , заменив в ней X на a-z и Y на 1-9.
Затем добавьте следующие параметры монтирования: discard и noatime . Параметр discard позволяет в устройстве SSD использовать функцию TRIM — это повышает производительность и долговечность. Другой параметр, noatime , указывает файловой системе не отслеживать время последнего обращения, а только время обновления. Это может уменьшить износ вашего устройства SSD, поскольку есть очень много файлов, к которым вы обращаетесь при использовании компьютера, но гораздо меньше таких файлов, которые вы, в конечном итоге, изменяете. Файл должен выглядеть так, как показано выше на скриншоте.
Если вы обнаружите, что некоторые программы конфликтуют с параметром noatime (т.к. время последнего обращения будет позже времени модификации, что обычно невозможно), вы можете заменить noatime на relatime . В результате в одной и той же самой операции записи время последнего доступа будет указываться точно там, как и время последней модификации.
Не используйте раздел подкачки SWAP
Когда вы используете устройство SSD, то также очень хорошим решением будет не иметь на нем раздел подкачки (если, конечно, у вас нет серьезного основания для этого).
Постоянные операции чтения и записи разделов подкачки существенно повышают износ устройства SSD. Если вам действительно нужно иметь раздел подкачки, то лучше разместить на другом жестком диске который, если возможно, не должен быть твердотельным. Я знаю, что заманчиво разместить раздел swap на устройстве SSD — это был бы наиболее эффективный раздел подкачки из тех, которые у вас могли бы когда либо быть, но эта скорость обойдется очень дорого.
Большинство полагают, что можно все же добавить раздел подкачки, но отключить режим hibernation, поскольку с этим режимом связано наибольшее количество операций чтения и записи. Но, скорее всего, вы будете редко использовать раздел подкачки, т.к. вероятно, у вас будет более чем достаточно оперативной памяти, он будет просто занимать место и потенциально может стать причиной повышенного износа. Кроме того, будет проще сначала не пользоваться разделом подкачки, а не отключать режим hibernation.
Заключение
Эти советы должны помочь вам более оптимально использовать устройства SSD в системе Linux. И ваше устройство SSD отблагодарит вас надежной работой на несколько лет дольше, чем это было бы без этих оптимизаций. Если повезет, то вы сможете добиться еще большей оптимизации SSD, что может оказаться не слишком просто. Конечно, все зависит от вас, но данные советы окажутся наиболее полезными для вашего диска SSD. Большинство других настроек касается лишь незначительных изменений и обеспечивают лишь минимальные преимущества.
Какие варианты оптимизации устройств SSD вы можете порекомендовать? Каково ваше мнение о том, как следует обращаться с разделом SWAP? Сообщите нам об этом в комментариях!
Источник
Оптимизация Linux под SSD
Твердотельные накопители становятся все доступнее и занимают все большую часть рынка. Вот и я решил заменить hdd c windows seven своего нетбука Lenovo IdeaPad S10-2 на SSD c Ubuntu Netbook.
В этой записи я собрал нагугленные заметки по оптимизации работы Linux на SSD для рабочей станции.
Разметка диска и файловая система
В первую очередь, нужно забыть про раздел подкачки, все прекрасно работает и без него. Для SSD лучше использовать не журналируемую файловую систему. Журнал нужен для того, чтобы, после пропадании электропитания, восстановить незавершенные транзакции — не потерять данные и оставить ФС целостной. Так как большинство SSD используются в ноутбуках/нетбуках, где присутствует батарея, пропадание электропитания практически невозможно, журнал не нужен. Я использую 100 Мб под /boot с ext2, 20 Гб как / с ext4 и все остальное под /home, так же с ext4. Файловую систему ext4 я выбрал так как она позволяет отключать журнал после создания файловой системы, делается это так:
Так же, для увеличения производительности, к опциям монтирования в fstab рекомендуется добавить:
Здесь у некоторых может возникнуть подозрение, что использование noatime эффективнее чем relatime. Это не так, relatime обновляет время доступа только при изменении файла или изменении времени доступа. Это нужно для нормальной работы некоторых программ, в том числе почтовых клиентов. Опция discard включает поддержку TRIM. Так же откладываем до раза в минуту запись изменений на накопитель commit=60.
Логи на рабочей станции мало кому нужны после перезагрузки, поэтому целесообразно разместить их, как и временные файлы, в оперативной памяти. Для этого добавим такие строки в fstab:
I/O планировщик
Планировщик cfq, используемый по умолчанию в большинстве дистрибутивов лучше заманить на noop. Для этого к опциям ядра в конфиге загрузчика нужно добавить:
Параметры ядра
Включаем «режим ноутбука» для подсистемы виртуальной памяти, в таком режиме, ядро будет откладывать запись на диск, пока в этом не появится неотложная необходимость. Кроме того повысим таймаут между сбросом буферов до 15 секунд:
Firefox & Chrome
Временные файлы мы перенесли в оперативную память, но браузеры хранят свой кеш в домашнем каталоге пользователя, который у нас на SSD. Нужно либо переместить кеш с SSD, либо выключить его. Я выбрал последний вариант.
Для этого в адресной строке Firefox введем about:config и изменим параметр:
В Chrome немного сложнее, запретить кеш раз и навсегда нельзя, вместо этого нужно каждый раз запускать браузер с параметром —disk-cache-size=0:
Или создать alias:
Кэш пакетных менеджеров
Так же может быть полезным вынести кэш менеджера пакетов в ОЗУ. Для deb-based дистрибутивов нужно добавить в fstab:
Для rpm-based дистрибутивов нужно добавить в fstab:
UPD20130310: Обновлены обции монтирования, добавлен вынос кеша пакетных менеджеров в ОЗУ.
Читайте другие интересные статьи
Понравилась статья, расскажи о ней друзьям, нажми кнопку!
Источник
Настройка Ubuntu для работы с SSD
Содержание
Просьба к редакторам тоже там отписываться
Настройка Ubuntu для работы с SSD
Как всем известно SSD очень быстры, но имеют один маленький (или не маленький) недостаток — ограниченное число циклов записи. Т.е. их надо стараться больше использовать на чтение, а запись свести к минимуму, дабы свести риск выхода из строя диска раньше времени к минимуму. Статья написана для Ubuntu 14.04 и более новых версий.
Настройка /etc/fstab
/etc/fstab – один из важных файлов ОС, который исполняется во время загрузки системы. В нем описаны какие разделы накопителей и как именно монтируется в файловую систему ОС. Открываем:
Отключаем swap
Если уж SSD приобретен, то вполне можно добавить памяти в машину и отключить swap. Для этого будет достаточно уже 4GiB (используйте утилиты free и top, чтобы узнать сколько памяти потребляет ОС) Если памяти достаточно, ставим систему без свопа или отключаем его, если система уже установлена.
Комментируем (#) строку со словом swap
Для систем, у которых systemd надо еще отключить службу
Если же памяти для задач ОС маловато, то пробуем настроить приоритет использования swap
Опции монтирования
После применения этой опции новые файлы будут сжиматься при записи, а также старые при изменении. Если хотите сжать уже установленную систему нужно применить команду дефрагментации со сжатием .
Как видим BTRFS хорошо приспособлена для SSD. Ранее BTRFS имела проблемы с производительностью, особенно при установке пакетов. Сейчас, на свежих ядрах 4.* я не вижу этой проблемы, работает быстро.
Кэш apt в ОЗУ
Дефрагментация BTRFS со сжатием файлов
Для выполнения нужно загрузиться в живую сессию, примонтировать раздел с BTRFS и применить команду дефрагментации со сжатием:
У себя я получил коэффициент сжатия 0.63, было 5.21 ГБ, стало 3.7 ГБ, т.е. в 1.5 раза меньше запись на SSD в процессе дальнейшей работы. Замечу, что я не храню на SSD плохо сжимаемые файлы — аудио, видео, фото и т.п., они размещены на другом разделе.
Отключение дискового кэша в браузерах
1) Mozilla Firefox
Правка → Настройки → Дополнительные → Сеть → Поставить галочку «Отключить автоматическое управление кэшем» → Установить значение в 0.
2) Opera
Ctrl + F12 → Расширенные → История → Дисковый кэш → Отключено
3) Chromium/Google Chrome
Настройки → Дополнительные инструменты → Инструменты разработчика ( Ctrl + Shift + I ) → Настройки (значек шестеренки) → поставить галочку Disable cache (while DevTools is open)
Источник
Рекомендации по использованию SSD в Linux
Твердотельные накопители удивительно быстры и лишены каких-либо механических частей, мобильны, что делает их бесшумными, поддерживают гораздо лучшую вибрацию и удары и не затрагивают (или почти не затрагивают) такие проблемы, как фрагментация файловой системы. Но, конечно, необходимо учитывать ряд особенностей, чтобы максимально увеличить пользу и продлить их жизнь.
Размеры разделов
Размеры разделов должны быть кратны 512 МБ. Кроме того, настоятельно рекомендуется создать раздел на жестком диске для хранения данных в /home. А также наличие как минимум двух разделов, где в одном мы будем хранить /boot, а остальное будет /.
Мы поставим /home на жесткий диск, из-за некоторых недостатков, которые приходят с дисками SSD, т.к. они теряют скорость записи, когда место на диске подходит к концу. Эта проблема исправляется с выходом новых драйверов, которые лучше управляют очисткой данных, но на данный момент она все еще существует.
Форматирование разделов
Более целесообразными являются следующие форматы:
- ext4 (рекомендуется)
- btrfs
- f2fs
- xfs
- jfs
Все эти форматы поддерживают TRIM. Зачем так важен TRIM? Потому что он позволяет операционной системе сообщать какие блоки данных не используются и могут быть удалены. Это имеет особое значение в случае твердотельных накопителей, поскольку флэш-память типа NAND, которые используют в SSD, не может перезаписать существующие данные. Прежде чем записывать новые данные поверх существующих, необходимо сначала их удалить. Эта проблема усугубляется тем, что минимальной единицей стирания является блок, так как единицей минимальной записи является страница (блок-64 страницы).
Это означает, что с течением времени диск SSD будет, определенным образом фрагментироваться внутри (не так, как традиционные жесткие диски), являясь страницами с пустыми блоками, которые в какой-то момент, даже когда у вас есть свободное пространство на SSD, не будут пустыми страницами для записи. Это снизит производительность, за счет которой для записи новых данных будет та группа блоков, которая рассредоточена, копируя их в буферную память, стирая и собирая вместе с ними все снова на одной странице.
При удалении файла ОС помечает его как удаленный в файловой системе, но не переданный на твердотельный диск. Именно поэтому TRIM, который, как мы уже говорили, отвечает за информирование твердотельного диска, который удаляется, помогает нам избежать вышеупомянутых проблем.
Конфигурация отделки
Сначала мы проверим, поддерживает ли наш SSD TRIM следующей командой:
# hdparm -I /dev/sdX | grep TRIM
Где X-буква вашего SSD. Ответ команды будет ясен, если он показывает вам что-то подобное, как на следующем скриншоте есть поддержка TRIM, если ничего не появляется у вас её нет.
Вы можете настроить TRIM тремя способами: вручную, настроив fstab и запланировав выполнение fstrim с помощью cron или systemd.
Вручную
Мы установим пакет fstrim:
# aptitude install fstrim
Выполните следующую команду, чтобы включить TRIM:
# fstrim -v [Точка монтирования]
В точке монтирования вы указываете, где монтируется наш SSD. Можно указать просто / (Root).
Настройка /etc/fstab
С помощью опции discard в файле fstab мы можем настроить наш SSD для использования TRIM. Просто добавить опцию как показано в примере ниже:
Планирование выполнения fstrim
Наиболее эффективным методом является запланированное выполнение fstrim, которое позволяет нам пользоваться его преимуществами без какого-либо влияния на производительность.
С помощью cron
Создаём следующий файл /etc/cron.daily/trim и добавляем в него:
Предоставление прав для выполнения:
# chmod +x /etc/cron.daily/trim
С использованием systemd
Если ваш Linux использует systemd, вы можете сделать это следующим образом. Сначала мы создаем файл в /lib/systemd/fstrim.service который содержит следующее:
Примечание: где / точка монтирования корня (root).
Используем systemctl для запуска службы:
# systemctl start fstrim
Монтирование разделов
Еще одна вещь, которую мы рассмотрим, это монтирование разделов. В конфигурационном файле /etc/fstab есть опция noatime для повышения производительности диска.
Использование параметров noatime, nodiratime или relatime может повысить производительность диска. По умолчанию Linux хранит запись (записывает на диск) каждого чтения, сделанного atime. Это полезно при использовании Linux для серверов, но не имеет большого значения при использовании для рабочего стола. Недостатком опции по умолчанию atime является то, что даже чтение файла из кэша памяти (чтение из памяти, а не с диска напрямую), даже в этом случае, он будет зарегистрирован! Использование параметра noatime полностью отключает обновление времени доступа к файлам при каждом чтении файла. Мы не добавляем два варианта noatime и nodiratime, потому что noatime уже включает nodiratime.
Временные каталоги
Также настройки временных каталогах (для/tmp, /VAR и/boot, в папке /var/lock и /var/log) в оперативной памяти, чтобы избежать записи на диск. Если у вас мало оперативной памяти, еще лучше иметь раздел на жестком диске на всю жизнь. Параметры монтирования noatime,nodiratime, nodev и nosuid.
Настройка GRUB: вход/выход планировщика
В целом, подавляющее большинство Linux используют CFQ для планирования устройств ввода / вывода. Однако для дисков SSD есть и другие варианты, которые являются более удачными:
- noop (рекомендуется)
- deadline
Если SSD будет единственным носителем информации компьютера, мы настроим GRUB изменяя файл /etc/default/grub.
Мы будем искать в файле что-то вроде «GRUB_CMDLINE_LINUX=»» и оставим его так же:
Сохраните изменения и обновите grub с помощью этой команды:
# update-grub
SWAP или без SWAP?
Если не волноваться за срок полезного использования, мы все равно можем настроить своп (в том случае, если у нас очень мало оперативной памяти) но с несколькими нюансами:
- Уменьшить процент использования SWAP/RAM 1%
- Уменьшить значение блоков данных кэша со 100 до 50
- Изменить частоту обращений к диску от 500 до 1500
Для этого мы модифицируем следующий файл /etc/sysctl.conf и меняем или добавляем эти значения:
Сокращение количества проверок файловых систем
Как известно, каждый раз при запуске система автоматически выполняет проверку файловых систем на предмет того, все ли в порядке.
Поскольку мы стремимся ограничить использование диска на SSD, было бы неплохо сделать чтобы эти проверки происходили реже, изменяя интервал времени или количество перезапусков, которые проходят между одним и другим.
С помощью tune2fs вы можете изменить это значение, а также сделать много других вещей, всегда указывая на раздел, на котором мы хотим действовать:
# tune2fs -c 80 /dev/sda1 (каждые 80 перезагрузок)
# tune2fs -i 2m /dev/sda1 (каждые 2 месяца)
# tune2fs -i 2w /dev/sda3 (каждые 2 недели)
# tune2fs -i 2d /dev/sda1 каждые 2 дня)
# tune2fs -l /dev/sdb1 (просмотр полной записи раздела)
# tune2fs -l /dev/sda3 | grep ‘Last checked’ (просмотр даты последнего сканирования)
# tune2fs -l /dev/sda3 | grep -i check (время проверки)
# tune2fs -i 0 /dev/sda3 (отключить проверку)
Испытание Скорости
С помощью команды hdparm-Tt /dev/sdX , мы можем сделать тест скорости записи, так что вы можете увидеть разницу я сделал два теста, один на SSD и другой на жестком диске. Вот результат:
/dev/sdb:
Timing cached reads: 2070 MB in 2.00 seconds = 1034.96 MB/sec
Timing buffered disk reads: 646 MB in 3.00 seconds = 215.11 MB/sec
/dev/sda:
Timing cached reads: 28842 MB in 2.00 seconds = 14435.64 MB/sec
Timing buffered disk reads: 1232 MB in 3.01 seconds = 409.76 MB/sec
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Источник