Jump to content

BTRFS/Оптимизация

После установки ROSA Linux на файловую систему Btrfs можно немного “прикрутить турбину” — сделать работу системы быстрее, а диск износостойким. В этом разделе подробно объясняется, какие параметры влияют на производительность и зачем они нужны.

Что такое оптимизация Btrfs

Btrfs умеет многое: сжимает файлы, автоматически исправляет ошибки, балансирует пространство. Но по умолчанию часть функций может быть выключена, чтобы система подходила всем типам компьютеров. Оптимизация — это настройка под ваш тип накопителя: SSD, NVMe или HDD.

Проверка текущих настроек

Перед изменением полезно узнать, с какими параметрами сейчас смонтирован диск.

mount | grep btrfs

Команда выводит список всех разделов Btrfs и их параметры. Например:

/dev/sda2 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5)
  • ssd — система автоматически определила, что диск твердотельный;
  • space_cache=v2 — используется новая схема кэширования свободного места;
  • relatime — обновление времени доступа включено (его можно отключить для ускорения).

Рекомендуемые параметры для SSD и NVMe

Откройте файл /etc/fstab и найдите строку, где монтируется корневой раздел (обычно «/»). Рекомендуемая конфигурация для SSD или NVMe выглядит так:

noatime,ssd,space_cache=v2,discard=async,compress=zstd:5,autodefrag

Что делает каждая опция:

  • noatime — отключает запись времени последнего доступа к файлам. Это уменьшает количество операций записи и продлевает срок службы SSD.
  • ssd — включает оптимизацию алгоритмов ввода-вывода под твердотельные накопители.
  • space_cache=v2 — более современная и быстрая система учёта свободного пространства.
  • discard=async — включает асинхронный TRIM, который очищает неиспользуемые блоки без потерь производительности.
  • compress=zstd:5 — сжимает данные на лету. Число «5» определяет баланс между скоростью и степенью сжатия.
  • autodefrag — автоматически дефрагментирует часто изменяемые файлы (журналы, базы данных, кеши).

После редактирования сохраните файл и перезагрузите систему.

Рекомендуемые параметры для HDD

Для обычных жёстких дисков лучше подходят другие настройки:

noatime,space_cache=v2,compress=zstd:3,autodefrag,commit=60

Объяснение:

  • noatime — уменьшает количество операций записи.
  • compress=zstd:3 — слабее сжатие, зато быстрее на медленных дисках.
  • autodefrag — помогает бороться с фрагментацией.
  • commit=60 — записывает изменения на диск каждые 60 секунд, уменьшая нагрузку на головки HDD.

Проверка включённого сжатия

Чтобы убедиться, что сжатие действительно активно, выполните:

sudo btrfs property get / compression

Если в выводе отображается строка вроде:

compression=zstd

— значит сжатие включено.

Принудительное сжатие уже существующих файлов

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

sudo btrfs filesystem defragment -r -v -czstd /

Разбор параметров:

  • -r — обрабатывать рекурсивно (все вложенные каталоги);
  • -v — выводить процесс выполнения;
  • -c zstd — применить алгоритм сжатия zstd.

Настройка TRIM

TRIM сообщает SSD, какие блоки можно освободить. Чтобы система делала это автоматически, включите таймер:

sudo systemctl enable --now fstrim.timer

Проверить состояние таймера можно командой:

systemctl status fstrim.timer

TRIM помогает поддерживать скорость записи и продлевает жизнь накопителю.

Балансировка Btrfs

Btrfs хранит данные блоками (чанками). Со временем часть блоков может заполниться неравномерно, и это снижает скорость работы. Чтобы перераспределить данные, используется команда балансировки:

sudo btrfs balance start -dusage=50 -musage=50 /

Расшифровка:

  • -dusage=50 — перераспределить только те блоки данных, что заполнены менее чем на 50 %;
  • -musage=50 — то же самое для метаданных;
  • / — путь к корневому подтома.

Балансировку стоит запускать примерно раз в 1–2 месяца.

Проверка использования диска

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

sudo btrfs filesystem df /

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

Итоги

После выполнения оптимизации:

  • система работает быстрее, особенно при чтении и установке пакетов;
  • SSD меньше изнашивается благодаря сокращению ненужных записей;
  • файлы занимают меньше места за счёт сжатия;
  • Btrfs становится более стабильной и отзывчивой.
← Назад: Введение и разметка Вперёд: Обслуживание →