Linux оптимизация файловой системы

База знаний wiki

Продукты

Статьи

Содержание

оптимизация файловой системы ext3-ext4

Применимость: Linux, физический сервер или XEN/KVM-VDS

Слова для поиска: тюнинг, tuning

Задача:

Как получить максимальную производительность от файловой системы?

Решение:

RAID-массив

До того как вы начали ставить систему на ваш сервер продумайте конфигурацию и параметры RAID массива.

Каждый физический том LVM делится на части, которые называются физическими экстентами (Physical Extents, PE). Размер физических экстентов может варьироваться, но един в пределах группы томов. В пределах физического тома каждый физический экстент имеет уникальный номер. Физический экстент – минимальный блок пространства, который может быть адресован системой LVM на физическом хранилище.

Когда вы будете устанавливать систему, при создании LVM групп по умолчанию будет использован extent размером 4МБ. Это не повлияет на производительность если у вас небольшое пространство. Однако если речь идет о десятках террабайт, то следует учитывать, что ядро должно будет держать в памяти все метаданные связанные с экстентами и тратить на их обработку вычислительную мощность.

Размер экстента задается при создании группы томов. Изменить размер экстента нельзя.

Из этих соображений желательно выбрать размер экстента как можно больше. Существенным ограничением здесь может быть размер желаемого минимального шага при определении размера LVM томов. Например если вам в одном случае нужен том 1100МБ, в другом 1400МБ, то ваш размер экстента — 100МБ. Если же вы планируете отмерять тома только в гигабайтах, то смело выбирайте размер экстента 1024МБ.

EXT3-EXT4

Версия файловой системы EXT4 более производительна чем EXT3, относительно недавно она признана стабильной, но это мнение разработчиков.

Вероятность возникновение проблем с ext4 несколько выше, чем при использовании ext3. Это и теоретически и практически.

Дата признания стабильности ext3 — ноябрь 2001 года. Для ext4 — 21 октября 2008 года.

Иногда говорят проблемах с ext4 в виде потери данных при отключении питания. Наиболее частая причина этому — небрежность разработчиков некоторых приложений игнорирующих необходимость выполнения fsync при сохранении данных. Эта проблема еще может быть связана с отложенным выделении блоков и интервалом сброса на диск метаданных (параметр монтирования commit=nrsec). В Ext4 после закрытия файла до фактической записи данных на диск может проходить до 150 секунд. Если в этот момент….

Короче — ext3 надежнее, ext4 быстрее.

Создание файловой системы

Для маленьких файлов:

Для больших файлов:

Монтирование

Важные для производительности опции mount для ext4

Источник

Ускорение работы Ubuntu с дисковой подсистемой

Любая операционная система, основанная на ядре Linux, выгодно отличается от всех остальных по скорости работы. Это делает ее стандартом де факто для различного рода устройств, которые не блещут своей производительностью.

Но не смотря на это большинство пользователей хотят получить еще большую производительность от своих компьютеров.

Операционная система Ubuntu и любая другая ОС Linux, позволяет это сделать, так как некоторые параметры, выставленные по умолчанию, имеют не совсем оптимальные значения. Это стремления разработчиков к универсальности и работе на любом типе компьютерного «железа» в ущерб производительности.

Немного теории

Не для кого не секрет, что для большинства современных компьютеров самым слабым звеном является дисковая подсистема. За последние несколько лет технологии «увеличили» производительность практически всех компонентов компьютера, но этот технологический прорыв не коснулся жестких дисков. Если в этой области прогресс в сторону скорости и есть, то на общем фоне выглядит практически не заметно. Именно поэтому с оптимизации работы дисковой подсистемы и следует начать оптимизацию и «тюннинг» операционной системы Ubuntu.

По большей части современный файловые системы Ext3 и Ext4 обладают хорошим быстродействием и их более тонкая настройка не требуется. Более пристальное внимание следует уделить работе оперативной памяти и дисковой подсистемы в целом.

Любая операционная система Linux, в том числе и Ubuntu, устроена так, что практически одновременно использует для хранения каких-то временных данных, оперативную память и файл подкачки — swap. Этот файл подкачки размещается на жестком диске и нужен для разгрузки ОЗУ при ее заполнении. Благодаря ему, у пользователя появляется возможность запускать тяжеловесные приложения с небольшим объемом оперативной памяти, где часть информации хранится на жестком диске. Как говорится: «медленно, но верно». Это точно также как в бизнесе, кто захочет платить лишние деньги за не полностью используемые производственные ресурсы или при заказе рекламы в Екатеринбурге, заказчик не будет переплачивать лишние деньги за избыточную рекламу, полный эффект которой останется не востребованным.

Читайте также:  Как устранить проблему windows не обнаружен

Почему данные хранятся «. практически одновременно. » в swap и ОЗУ?

Потому что Ubuntu устроенна так, что при заполнении оперативной памяти на 40%, происходит ее высвобождение в файл подкачки. Если взять за «стандартный компьютер» — компьютер с 2 Гб оперативной памяти (большинство современных нетбуков обладают даже меньшим объемом памяти — 1Гб), то можно подсчитать, что 40% от всей памяти — это 819,2 Мб (1024Мб * 2 * 0,4 = 819,2 Мб). Интернет-браузер Google Chrome, к примеру, в среднем потребляет порядка 200-300 Мб ОЗУ. Остальные браузеры потребляют примерно столько же. Но очень редко можно встретить пользователя, который бы не пользовался, наверное, главной возможностью современных ОС — многозадачностью и не запускал бы несколько приложений одновременно.

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

Из этого следует, что параметры работы оперативной памяти, которые выставлены в Ubuntu по умолчанию, не совсем подходят для повседневной работы.

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

Эта статья призывает к более оптимальной утилизации имеющейся ОЗУ, так как по умолчанию в ОС держится большое количество ОЗУ просто не используемой, тем самым «тормозя» операционную систему.

Ускоряем работы Ubuntu с дисковой подсистемой

Вся работа по ускорению Ubuntu для удобства разбита не несколько частей:

    Редактируем конфигурационный файл /etc/sysctl.conf:

  1. В самом низу этого файла есть параметр vm.swappiness, который как раз и отвечает за распределение оперативной памяти. По умолчанию он имеет значение 60, показывая, что в любом случае должно оставаться 60% свободной оперативной памяти. Для рабочих станций рекомендуется изменить это значение на 10. Должно получится так:

Если этого параметра нет, то необходимо его добавить в самом конце открытого конфигурационного файла!

В конце этого файла рекомендуется еще добавить параметр vm.vfs_cache_pressure, который указывает размер используемого дискового кэша.

Если Вы обладатель компьютера с SSD-накопителем, то для Вас будет актуален параметр:

Если у Вас компьютер с «простым» жестким диском, то наибольшую отзывчивость можно получить при установке параметра:

Чтобы воспользоваться демоном preload в Ubuntu, необходимо его установить:

Дальнейшей дополнительной настройки preload не требует.

После всех манипуляций необходимо перезагрузить операционную систему или выполнить:

Дополнительная информация

Если Вы не готовы сразу же менять всю работу системы распределения оперативной памяти, то можете временно применить эти параметры, которые будут действовать до следующей перезагрузки операционной системы. Для этого нужно выполнить соответствующие команды:

Для пользователей, которые не готовы работать с командной строкой и конфигурационными файлами, есть решение в виде графической утилиты для тонкой настройки операционной системы Ubuntu — Ailurus, которая «умеет» это делать.

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

Пожалуйста, источники в студию …

Кстати, Вы забыли упомянуть, что работа демона preload будет заметна,если у использующего,будет большой объем, физического размера оперативной памяти.

P.S. К тому же, сразу прирост производительности, используемый сие демон, не почувствует!

vfs_cache_pressure=1000 это ошибка? У этого параметра значения от 1 до 100 допустимы, и по умолчанию как раз 100 в ubuntu. Чем меньше значение, тем больше кэшируется.

от 1 до 100 – это значение vm.swappiness, а 1000 для vfs_cache_pressure – справедливо. Mut@NT – спасибо за статью!

myr4ik07: Пожалуйста, источники в студию …

О чем Вы? Статья написана с использованием большой кучи блогов и сайтов, которые копипастят контент откуда непоподя

myr4ik07: Кстати, Вы забыли упомянуть, что работа демона preload будет заметна,если у использующего,будет большой объем, физического размера оперативной памяти.
P.S. К тому же, сразу прирост производительности, используемый сие демон, не почувствует!

Спасибо, за уточнение. Добавлю.

Андрей: vfs_cache_pressure=1000 это ошибка? У этого параметра значения от 1 до 100 допустимы, и по умолчанию как раз 100 в ubuntu. Чем меньше значение, тем больше кэшируется.

Вроде как у него нет ограничения.

Читайте также:  Getting ready windows 10 зависло что делать

Ubuntu 10.04, сделал по инструкции – не знаю есть ли хоть какой прирост производительности (или это скорее самовнушение) – уже как больше суток, полет нормальный! Хуже точно не стало =)
За статью – спасибо!

selius: Ubuntu 10.04, сделал по инструкции – не знаю есть ли хоть какой прирост производительности (или это скорее самовнушение) – уже как больше суток, полет нормальный! Хуже точно не стало =) За статью – спасибо!

Смотря как работаете с ОС. Если У Вас большое количество ОЗУ изначально, то, возможно, ее заполнение и не доходило до отметки разгрузки в файл подкачке.

В большинстве случаев эти действия убирают легкую приторможенность системы при продолжительно работе

Я рушил проблему проещ, но дороже. Полностью отключил swap, убрал раздел подкачки и нарачтил оперативку до 8 Гб. теперь никаких лагов из-за сброса подкачки на диск

Делала по описанию, но в моем случае особого прироста не заметила, а вот apt-get install zram, вродь как полезнее оказался. Если кто захочет поэкспериментировать, то swappiness придется вернуть взад на 60, или не меньше 40, иначе фокус не получится.

Источник

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

Диски, использующие электронные ячейки памяти (SSD — Solid State Drive), мало весят, работают бесшумно и потребляют втрое меньше энергии, чем жёсткие диски (HDD). Однако главная причина их популярности – фантастическая скорость работы. Операционная система загружается быстро, операции с файлами большого размера выполняются значительно быстрее.

Недостаток твердотельных накопителей – износ ячеек. Память деградирует в процессе перезаписи данных. В среднем через 0,5-3 года диск может выйти из строя. Для того, чтобы продлить жизнь накопителя, использование Linux на SSD должно подчиняться определённым правилам. Каким – рассмотрим в этом материале.

Особенности работы SSD

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

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

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

Инженеры успешно работают над продлением срока службы SSD, но сами пользователи также могут продлив срок жизни накопителя, правильно настроив операционную систему.

В Интернете есть сотни советов, выдаваемых поисковиками по запросу «Установка Linux на SSD», однако мы советуем воспринимать написанное с осторожностью. Остановимся на моментах, способствующих улучшению состояния SSD-хранилища без риска потери данных.

Как установить Linux на SSD?

Внешне установка операционной системы Linux на твердотельный накопитель выглядит так же, как и на магнитный диск. Могут отличаться лишь настройки файловой системы, раздела подкачки и параметры монтирования разделов.

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

На данном этапе для Unix разработаны специальные файловые системы, учитывающие особенности работы SSD-дисков:

  • Extended4 (ext4) – самая популярная и стабильная файловая система в этой среде, поддерживающая отключаемое журналирование, а также функцию TRIM.
  • BtrFS – файловая система, разработанная инженерами Oracle, поддерживает зеркальные копии структур данных и контрольные суммы, что позволяет легко восстанавливать файлы при повреждении. Журналы не ведутся, поэтому дополнительной нагрузки на диск не возникает.
  • XFS – файловая система, разработанная Silicon Graphics для работы с большими файлами, журналы ведутся только для регистрации изменений структур данных.
  • Flash-Friendly File System (F2FS) – разработка Samsung специально для флешек и SSD. Учитывает особенности износа памяти, собирает данные в пакет, который затем записывает в свободные области за один цикл.

Как видим, выбор богат, поле для экспериментов широкое. Однако если вы спросите, какая файловая система на SSD для Linux будет наилучшей, мы посоветуем остановиться на проверенной годами ext4. Прочие системы продолжают дорабатываться, в них могут быть критические ошибки.

Читайте также:  Linux net ipv4 ip forward

2. Настройка файла подкачки

Оперативной памяти много не бывает. Если у вас её меньше, чем 4 Гб, рекомендуем докупить и установить дополнительные планки. В этом случае файл подкачки будет меньше задействован операционной системой. Отсюда следует резонный вопрос: нужен ли swap для Linux на SSD?

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

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

Для того, чтобы проверить эти настройки, запустите Terminal и выполните команду:

В нашем случае установлено значение по умолчанию. Для того, чтобы его изменить, необходимо отредактировать файл /etc/sysctl.conf. Откройте файл в редакторе с помощью команды:

sudo nano /etc/sysctl.conf

Перейдите в конец файла, нажав на клавиатуре сочетание Alt-/, и добавьте строку:

Закройте редактор, сохранив изменения в отредактированном файле. Новые настройки вступят в силу после перезагрузки операционной системы.

3. Настройка монтирования в fstab

После того, как установка Linux на SSD завершена, рекомендуется изменить настройки монтирования. Особенностью Unix-систем является наличие специального атрибута у файлов — времени последнего доступа (access time stamp). Этот атрибут перезаписывается каждый раз при обращении какого-либо процесса к файлу. Необходимость атрибута сомнительна, а нагрузка на SSD существенна.

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

sudo nano /etc/fstab

С помощью стрелок установите курсор в позицию после обозначения типа файловой системы (ext4) и после пробела впишите ключевое слово noatime. После него поставьте запятую. Обратите внимание, что пробела между запятой и следующим словом быть не должно.

Изменённые строки должны выглядеть так:

UUID=xxxxxxx / ext4 noatime,errors=remount-ro 0 1

UUID=xxxxxxx /storage ext4 noatime,defaults 0 1

4. Настройка TRIM

Настройка SSD в Linux близится к завершению. Остаётся рассмотреть метод TRIM. Так как ячейки памяти изнашиваются, встроенный контроллер каждый раз записывает данные в новые блоки. Когда свободное место подходит к концу, диск начинает притормаживать.

Файлы в операционной системе исправляются, затираются, удаляются. Задача команды TRIM (Data Set Management) – сообщить контроллеру SSD, что те или иные блоки данных уже пусты и в них можно опять записывать информацию.

В Linux команда TRIM по умолчанию выполняется раз в неделю. В случае повышенной интенсивности использования компьютера этого недостаточно, желательно запускать оптимизацию чаще.

Проверьте установки таймера, запускающего выполнение команды TRIM:

systemctl cat fstrim.timer

Убедитесь, что в секции [Timer] значение OnCalendar установлено как weekly (неделя). Для того, чтобы добавить новую настройку, выполните следующие команды:

sudo mkdir -v /etc/systemd/system/fstrim.timer.d

Теперь откройте созданный файл с помощью редактора Nano:

sudo nano /etc/systemd/system/fstrim.timer.d/override.conf

Добавьте в файл следующие строки:

[Timer]
OnCalendar=
OnCalendar=daily

Закройте редактор, сохранив изменения в отредактированном файле. Для применения настроек перегрузите компьютер или выполните команду:

sudo systemctl daemon-reload

Убедитесь в том, что изменения настроек применены, выполнив команду:

systemctl cat fstrim.timer

Всё в порядке, команда TRIM теперь будет выполняться ежедневно.

Выводы

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

Скорость SSD в Linux можно измерить с помощью команды:

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

Источник

Оцените статью