Дефрагментация диска 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 при копировании материала ссылка на источник обязательна.

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

Загрузка…

Источник: https://losst.ru/
Материал распространяется под лицензией CC-BY-SA

EnglishRussian