Дефрагментація файлової системи Ext4 за допомогою утиліти e4defrag - Cайт - Крайній

Різні операційні системи використовують різні файлові системи. Наприклад, GNU/Linux підтримує велику кількість файлових систем, але найчастіше використовується Ext4 (яка в майбутньому може бути замінена на Btrfs). І коли йдеться про файлові системи, перше, що спадає на думку - це фрагментація, яка надає прямий вплив на продуктивність файлової системи.

Незалежно від того, яку файлову систему ви використовуєте, з часом неминуче відбувається фрагментація. І головна її причина - складнощі з пошуком досить великої ділянки вільного простору під час запису даних на диск.

Якщо операційна система не може знайти достатньо великого шматка вільного простору, дані записуються окремими блоками і виявляються розподіленими по жорсткому диску. В результаті голівки жорсткого диска потрібно більше часу для читання даних, оскільки час витрачається на переміщення її до кожного блоку даних.

Деякі джерела стверджують, що файлові системи GNU/Linux, такі як Ext4, не потребують дефрагментації (на відміну від файлових систем для Windows), оскільки вони спроектовані таким чином, що мінімізують фрагментацію даних. Це, певною мірою, дійсно так. Але є експерти, такі як Такаші Сато, які експериментально перевірили вплив фрагментації на продуктивність основних файлових систем GNU/Linux. висновки:

"Було створено 50 фрагментованих файлів розміром 1 Гб (у файловій системі ext4). Перед та після фрагментації замірялася швидкість читання даних. " ". Виміри показали, що для одного файлу розміром 1 Гб дефрагментація можепідвищити продуктивність під час читання на 25%. Після дефрагментації всіх файлів швидкість доступу до них підвищилася на 29%". Такаші Сато і Акіра Фуджіта створили просту у використанні утиліту командного рядка для дефрагментації файлової системи ext4. за промовчанням. Але необхідно пам'ятати, що вона працює тільки з файловою системою ext4".

Використання e4defrag Дуже просто. Відкрийте термінал та введіть наступну команду:

$ e4defrag /location "location" може бути будь-яким змонтованим пристроєм з файловою системою ext4 (включаючи кореневу файлову систему), а також будь-якою директорією або навіть окремим файлом усередині файлової системи ext4.

Отримання звіту Ще одна чудова функція e4defrag - можливість сканування змонтованої файлової системи ext4 (директорії або файлу) з отриманням звіту, в якому вказується ступінь фрагментації. На основі цього показника e4defrag видасть вам рекомендації, чи потрібна дефрагментація даної системи.

Примітка: якщо рівень дефрагментації знаходиться в діапазоні 0-30, дефрагментація не потрібна. При ступеня фрагментації більше 56% дефрагментація обов'язкова. На скріншоті свіжовстановлена ​​операційна система, тому ступінь фрагментації дорівнює нулю.

Сканування запускається за допомогою наступної команди:

$ e4defrag -c /location Кілька прикладів Сканування та дефрагментація своєї домашньої директорії:

$ sudo e4defrag -c

/ Сканування та дефрагментація кореневої файлової системи:

$ sudo e4defrag -c / $ sudo e4defrag / Зауваження: у процесі дефрагментації виводяться повідомлення, які повідомляють про виконання операцій. Якщо ви побачите повідомлення з позначкою"Failure", не переживайте, це нормально, тому що деякі системні файли неможливо перемістити.

Не забувайте, що у GNU/Linux всі ваші файли змонтовані в кореневій файловій системі ("/"), тому якщо у вас змонтовано кілька файлових систем ext4, вони також будуть дефрагментовані, що, залежно від їх розміру та кількості файлів, може зайняти досить тривалий час. Якщо у вас кілька розділів із файловою системою ext4, і ви хочете дефрагментувати їх індивідуально, але не знаєте ім'я пристрою (/dev/sda. ), ви можете зробити це, скориставшись наведеними нижче інструкціями.

1. Введіть наведену нижче команду в терміналі, щоб отримати список наявних розділів та їх файлових систем.

$ sudo fdisk -l /dev/sda

2. Потім у виведенні команди знайдіть поле "id". Розділи, у яких поле "83", мають файлову систему ext4. Потім у цьому рядку знайдіть стовпець "Device", там ви побачите ім'я пристрою. На наведеному нижче скріншоті у мене два таких пристрої - "sda5" та "sda6".

3. Потім просто скопіюйте ім'я пристрою та вставте його в наведену нижче команду:

$ sudo e4defrag /dev/

Залежно від типу розділу (встановлена ​​чи ні на ньому операційна система) вам може знадобитися "sudo".

Якщо вас зацікавила ця утиліта та її можливості, докладнішу інформацію можна отримати, прочитавши короткий посібник: