Дефрагментация диска Linux

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

В этой статье мы рассмотрим как выполняется дефрагментация диска в Linux на примере файловой системы Ext4. Я выбрал именно эту файловую систему, потому, что она самая популярная на данный момент.

Что такое фрагментация?

Первым делом надо понять что же такое фрагментация. Жесткий диск состоит из множества маленьких секторов, в каждом из которых хранится небольшая частичка данных. Если файл большой он разделяется на несколько секторов. Когда вы записываете файл в файловых системах FAT или NTFS, под него выделяется определённое количество секторов, а после него записываются уже следующие файлы, поэтому если вы захотите обновить файл и добавить в него информацию, то для этого уже будут использоваться секторы в другой части диска. Если таких операций будет много, то файл может оказаться раскиданным по всему диску и при чтении диску придется очень часто перемещать читающую головку, что замедлит производительность. Это и есть фрагментация.

Но Ext4 большой фрагментации не подвержена, потому что файловая система выделяет много места после записанного файла и использует его. А даже если возникает фрагментация, то она пытается переместить файл в свободное место. Здесь фрагментация может возникнуть только если файловая система переполнена и то это возникает довольно редко.

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

Дефрагментация диска в Linux

Чтобы посмотреть какая сейчас фрагментация диска можно использовать утилиту fsck. Ей надо передать параметр -f. Чтобы в файловую систему не вносились никакие изменения используйте опцию -n:

sudo fsck -fn /dev/sdb1

Здесь /dev/sdb1 - это раздел, который надо проверить. Фрагментация указывается в скобках и измеряется в процентах, обычно она очень маленькая и не достигает даже одного процента.Не рекомендуется выполнять проверку на примонтированной системе, иначе вы получите кучу ложных ошибок, однако если с файловой системой не будут выполнятся никакие действия, то вы ничего не повредите. Для дефрагментации нам понадобится утилита e4defrag, находящаяся в папке e2fsprogs. Если у вас этот набор утилит ещё не установлен, установите его командой:

sudo apt install e2fsprogs

Теперь можете дефрагментировать нужный раздел. Например, тот же /dev/sdb1. Но перед дефрагментацией раздел надо примонтировать:

sudo mount /dev/sdb1 /mnt

Затем дефрагментация Ext4:

sudo e4defrag /dev/sdb1

После этого можно снова проверить фрагментацию. Если есть возможность, лучше отмонтировать перед этим раздел. Как видите, теперь фрагментация 0%:

sudo fsck -fn /dev/sdb1

Выводы

В этой статье мы рассмотрели как выполняется дефрагментация диска Linux с файловой системой Ext4. Всё очень просто. Только не надо дефрагментировать SSD диски, это только уменьшит срок их службы. А что вы думаете про дефрагментацию? Напишите в комментариях!

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

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

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (11 оценок, среднее: 3,64 из 5)
Загрузка...

4 комментария

  1. Miha 22 августа, 2022 Ответить
  2. Sasha 22 августа, 2022 Ответить
  3. Anatoly 24 августа, 2022 Ответить
  4. кулон 6 сентября, 2022 Ответить

Ответить

 Для отправки комментариев необходимо принять политику конфиденциальности - политика конфиденциальности