Главная >> Инструкции >> Дефрагментация диска Linux

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

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

  1. С самого начало было НЕОБХОДИМО написать, что для SSD это не то что не подходит, а даже губительно. Но у автора ни слова об этом.

    Ответить
  2. было бы неплохо указывать команды на поиск этих самых файловых систем вам очевидно а новечкам приходится лишний раз в поисковик лезть. а типа вы должны знать. ну так те кто знают сюда не заходят. ато вот чел сидит читает и не поймет что еще за sdb1 и где его собственно брать.

    Ответить
    • Команда на ПОИСК файловых систем? Хммм... mount без параметров покажет ВСЕ файловые системы, точки и параметры монтирования. А вообще, такой вопрос - Windows Вы от рождения знали? Или все-таки изучали? Так вот и тут. Любая ОС требует изучения. А Windows/Linux совершенно разные. Причем Ubuntu, пожалуй, для пользователя (именно пользователя) самая простая и удобная. Хоть сам ей уже не пользуюсь, но считаю ее очень хорошей. Так сказать, *NIX с человеческим лицом.
      Любые вопросы готов обсудить, знаниями поделюсь 🙂

      Ответить
  3. Много лет не делал дефрагментацию и сейчас посмотрел, там больше 3 процентов уже. Решил сделать всё-таки, а то что-то диск тормозит как-то немного.

    Ответить
    • 3% не должно являться причиной для беспокойства. Думать о дефрагментации следует, наверное, от 10% и выше. Вообще-то, ext4 сама по себе устойчива к фрагментации, но это если не заполнять раздел данными на 90% и более.

      Ответить

Оставьте комментарий