Якщо ви користувач Linux, ви, напевно, чули, що вам не потрібно дефрагментувати файлові системи Linux. Ви також помітите, що дистрибутиви Linux не постачаються з утилітами для дефрагментації диска. Але чому це?
Щоб зрозуміти, чому файлові системи Linux не потребують дефрагментації в звичайному використанні - а це потрібно для Windows - вам потрібно зрозуміти, чому відбувається фрагментація та як файлові системи Linux і Windows працюють по-різному одна від одної.
Що таке фрагментація
Багато користувачів Windows, навіть недосвідчені, вважають, що регулярна дефрагментація їх файлових систем прискорить їх комп'ютер. Багато людей не знають, чому це так.
Словом, на жорсткому диску є кілька секторів, кожен з яких може містити невеликий фрагмент даних. Файли, особливо великі, повинні зберігатися в ряді різних секторів. Скажімо, ви зберегли кілька різних файлів у свою файлову систему. Кожен із цих файлів буде зберігатися у суміжній скупці секторів. Пізніше ви оновите один із збережених вами файлів, збільшуючи розмір файлу. Файлова система намагатиметься зберігати нові частини файлу безпосередньо біля оригінальних частин. На жаль, якщо місця для перерви недостатньо, файл потрібно розділити на кілька частин - це все відбувається прозоро для вас. Коли ваш жорсткий диск читає файл, його голови повинні переходити між різними фізичними розташуваннями на жорсткому диску, щоб прочитати кожен фрагмент секторів - це уповільнює ситуацію.
Дефрагментація - це інтенсивний процес, який переміщує біти файлів навколо, щоб зменшити фрагментацію, гарантуючи, що кожен файл буде суміжним на диску.
Звичайно, це інше для твердотільних накопичувачів, які не мають рухомих частин, і їх не слід дефрагментувати - дефрагментація твердотільного накопичувача насправді зменшить його термін служби. І в останніх версіях Windows вам не потрібно турбуватися про дефрагментацію файлових систем - Windows робить це автоматично для вас. Для отримання додаткової інформації про найкращі практики дефрагментації прочитайте цю статтю:
HTG пояснює: чи справді потрібно дефрагментувати свій ПК?
Як працюють файлові системи Windows
Стара файлова система FAT від Microsoft - востаннє бачена за замовчуванням у Windows 98 та ME, хоча вона все ще використовується на USB-накопичувачах сьогодні - не намагається розумно впорядковувати файли. Коли ви зберігаєте файл у файловій системі FAT, він зберігає його якомога ближче до початку диска. Коли ви зберігаєте другий файл, він зберігає його відразу після першого файлу - і так далі. Коли оригінальні файли збільшуються в розмірі, вони завжди стають фрагментованими. Немає сусіднього місця, де вони могли б перерости.
Новіша файлова система NTFS від Microsoft, яка потрапила на споживчі ПК з Windows XP і 2000, намагається бути дещо розумнішою. Він виділяє більше “буферного” вільного місця навколо файлів на диску, хоча, як може сказати вам будь-який користувач Windows, файлові системи NTFS з часом все ще стають фрагментованими.
Через те, як працюють ці файлові системи, їх потрібно дефрагментувати, щоб зберегти пікову продуктивність. Microsoft усунула цю проблему, запустивши процес дефрагментації у фоновому режимі в останніх версіях Windows.
Як працюють файлові системи Linux
Файлові системи ext2, ext3 та ext4 Linux - ext4 - це файлова система, яка використовується Ubuntu та більшістю інших поточних дистрибутивів Linux - розподіляє файли більш розумно. Замість того, щоб розміщувати на жорсткому диску кілька файлів один біля одного, файлові системи Linux розкидають різні файли по всьому диску, залишаючи між ними велику кількість вільного простору. Коли файл редагується і його потрібно розробити, зазвичай є достатньо вільного місця для того, щоб він міг вирости. Якщо фрагментація все ж відбувається, файлова система намагатиметься переміщати файли, щоб зменшити фрагментацію при звичайному використанні, без необхідності утиліти дефрагментації.
Через те, як працює цей підхід, ви почнете бачити фрагментацію, якщо ваша файлова система заповниться. Якщо вона заповнена на 95% (або навіть 80%), ви почнете бачити певну фрагментацію. Однак файлова система розроблена таким чином, щоб уникнути фрагментації при звичайному використанні.
Якщо у вас є проблеми з фрагментацією в Linux, вам, ймовірно, потрібен великий жорсткий диск. Якщо вам дійсно потрібно дефрагментувати файлову систему, найпростіший спосіб є, мабуть, найнадійнішим: скопіюйте всі файли з розділу, видаліть файли з розділу, а потім скопіюйте файли назад у розділ. Файлова система розумно розподілить файли під час копіювання їх назад на диск.
Ви можете виміряти фрагментацію файлової системи Linux за допомогою команда fsck - шукайте “несуміжні аноди” у вихідних даних.