Гид по технологиям

Дефрагментация Linux: когда и как безопасно сделать

• 5 min read • Системное администрирование • Обновлено 20 Nov 2025
Дефрагментация Linux: когда и как безопасно сделать
Дефрагментация Linux: когда и как безопасно сделать

TL;DR

Дефрагментация редко нужна на современных Linux-файловых системах, но бывает полезна на переполненных HDD. Проверьте фрагментацию утилитой e4defrag и проводите дефрагментацию только на HDD. SSD не дефрагментируют — используйте TRIM.

Введение

Существует распространённое заблуждение, что Linux никогда не требует дефрагментации. Это объясняется распространением журналируемых файловых систем — ext2/3/4, XFS, Btrfs, ZFS, JFS, ReiserFS — которые значительно уменьшают проблему фрагментации. Тем не менее при ограниченном дисковом пространстве фрагментация может стать заметной и замедлять HDD.

Здесь объяснено, как проверить фрагментацию, когда дефрагментация оправдана и как безопасно её выполнять на Linux.

Как работает выделение файлов в Linux

Коротко: большинство Linux-файловых систем пытаются размещать файл в свободных областях так, чтобы он мог расти без перемещений. Если свободного непрерывного пространства не хватает, система записывает файл в другом месте целиком. В результате файлы часто хранятся не подряд, а в нескольких фрагментах.

Контраст: в NTFS (Windows) файлы чаще размещаются подряд, поэтому дефрагментация там исторически важна. На Linux журналирование и стратегии размещения сводят проблему к минимуму, но при «забитом» диске повторы перемещений наращивают фрагментацию.

Как проверить фрагментацию (e4defrag)

Утилита e4defrag показывает степень фрагментации для файлов и разделов. Она входит в пакет e2fsprogs и работает для файловых систем ext4/ext3/ext2.

Пример проверки директории или раздела:

sudo e4defrag -c /home

Опция -c выводит «оценку фрагментации» (fragmentation score). Практическое правило: если оценка выше 30, дефрагментация может улучшить производительность на HDD. Если ниже — эффекта будет мало.

Скриншот вывода e4defrag с оценкой фрагментации

Установка e4defrag (если отсутствует)

Если утилита отсутствует, установите пакет e2fsprogs на Debian/Ubuntu:

sudo apt-get install e2fsprogs

На других дистрибутивах используйте соответствующий менеджер пакетов (dnf, pacman, zypper).

Дефрагментация отдельных файлов

Чтобы дефрагментировать один файл, выполните:

sudo e4defrag /путь/к/файлу

Это удобно, когда нужно обработать пару больших фрагментированных файлов.

Пример дефрагментации файла с показом прогресса

Дефрагментация целых разделов и корня

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

sudo e4defrag /dev/*

Если нельзя размонтировать (например, корневой раздел), можно запустить дефрагментацию «вживую», но с осторожностью:

sudo e4defrag /

Замечание: дефрагментация корня работает, но может не обработать файлы, открытые ядром или процессами. Лучший способ — загрузиться с live‑USB и дефрагментировать оттуда.

SSD vs HDD: когда дефрагментация вредна

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

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

sudo fstrim -av

Добавьте регулярный cron или systemd‑timer для периодического TRIM, если система не выполняет его автоматически.

Альтернативные инструменты и подходы

  • Для XFS используйте xfs_fsr (утилита для дефрагментации XFS). Она ориентирована на XFS и работает иначе, чем e4defrag.
  • Для Btrfs/RAID/ZFS применяют специфичные операции: btrfs balance или scrub, zfs зондирование и дефрагментация не типична — для этих систем чаще решают проблему перераспределением данных или балансом.
  • fstrim для SSD вместо дефрагментации.
  • Перенос больших файлов на другой диск и обратно иногда эффективен: это фактически «переписывает» файл подряд и убирает фрагменты.

Когда дефрагментация не нужна или неэффективна

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

Пошаговый чеклист перед дефрагментацией

  • Проверить тип диска: HDD или SSD.
  • Сделать бэкап важных данных.
  • Проверить фрагментацию: sudo e4defrag -c /путь.
  • При возможности размонтировать раздел или загрузиться с live‑USB.
  • Выполнить дефрагментацию соответствующим инструментом.
  • Проверить состояние и производительность после операции.

Критерии приёмки

  • Оценка фрагментации до дефрагментации была выше 30 для ext4/похожих.
  • После дефрагментации оценка снизилась и критические файлы стали непрерывными или менее фрагментированными.
  • На SSD дефрагментация не запускалась; выполнен fstrim.

Модель принятия решения (Mermaid)

flowchart TD A[Начало] –> B{Тип носителя} B –>|HDD| C[Проверить фрагментацию e4defrag -c] B –>|SSD| D[Не дефрагментировать; выполнить fstrim] C –> E{Оценка > 30} E –>|Да| F[Размонтировать и дефрагментировать] E –>|Нет| G[Дефрагментация не требуется] F –> H[Проверить результат] H –> I[Готово] G –> I D –> I

Риски и меры предосторожности

  • Риск повреждения данных при сбоях питания во время операции. Мера: сделать бэкап и по возможности работать с размонтированным разделом.
  • На SSD — сокращение ресурса из‑за лишних операций записи. Мера: не запускать e4defrag на SSD; использовать fstrim.
  • Операция может занять длительное время на больших разделах. Мера: планировать окна обслуживания и наблюдать за процессом.

1‑строчный глоссарий

  • Фрагментация — когда файл хранится в нескольких несмежных блоках диска.
  • TRIM — команда для SSD, освобождающая блоки и помогающая контроллеру управлять изноcтом.
  • Журналируемая файловая система — система, которая ведёт журнал изменений для восстановления после сбоев.
  • e2fsprogs — набор утилит для работы с ext2/3/4, в который входит e4defrag.

Итог и рекомендации

Если у вас HDD и оценка фрагментации велика, дефрагментация может улучшить скорость последовательного чтения. Всегда проверяйте тип носителя и уровень фрагментации, делайте резервные копии и по возможности работайте с размонтированными разделами или из live‑среды. На SSD дефрагментация не нужна — воспользуйтесь TRIM.

Важно: выбор инструмента зависит от файловой системы. e4defrag хорош для ext4, но для XFS и Btrfs есть свои инструменты и практики.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро