Бібліотека сайту rus-linux.net
Різні операційні системи використовують різні файлові системи. Наприклад, GNU / Linux підтримує велику кількість файлових систем, але найбільш часто використовується Ext4 (яка в майбутньому можливо буде замінена на Btrfs). І коли мова йде про файлових системах, перше, що спадає на думку - це фрагментація, яка надає прямий вплив на продуктивність файлової системи.
Незалежно від того, яку файлову систему ви використовуєте, з плином часу неминуче відбувається фрагментація. І головна її причина - складнощі з пошуком досить великої ділянки вільного простору під час запису даних на диск.
Якщо операційна система не може знайти достатньо великий шматок вільного простору, дані записуються окремими блоками і виявляються розподіленими по жорсткому диску. В результаті голівці жорсткого диска потрібно більше часу для читання даних, так як час витрачається на переміщення її до кожного блоку даних.
Деякі джерела стверджують, що файловим системам GNU / Linux, таким як Ext4, не потрібно дефрагментація (на відміну від файлових систем для Windows), так як вони спроектовані таким чином, що мінімізують фрагментації даних.
Це, в деякій мірі, дійсно так. Але є експерти, такі як Такаші Сато, експериментально перевірили вплив фрагментації на продуктивність основних файлових систем GNU / Linux.
Він написав прекрасну статтю під назвою "ext4 online defragmentation" (останні її версії можна знайти тут), в якій можна знайти такі висновки:
"Було створено 50 фрагментованих файлів розміром 1 Гб (в файлової системі ext4). Перед і після фрагментації замерялась швидкість читання даних."
". Заміри показали, що для одного файлу розміром 1 Гб дефрагментація може підвищити продуктивність при читанні на 25%. Після дефрагментації всіх файлів швидкість доступу до них підвищилася на 29%".
Такаші Сато і Акіра Фуджита створили просту у використанні утиліту командного рядка для дефрагментації файлової системи ext4. Вона називається "e4defrag", і починаючи з Ubuntu 12.04 LTS вона передвстановлюють в системі за замовчуванням. Але необхідно пам'ятати, що вона працює тільки з файлової системою ext4 ".
Використання e4defrag
Дуже просто. Відкрийте термінал і введіть наступну команду:
"Location" може бути будь-яким змонтованим пристроєм з файловою системою ext4 (включаючи кореневу файлову систему), а також будь-Директорією або навіть окремим файлом всередині файлової системи ext4.
отримання звіту
Ще одна прекрасна функція e4defrag - можливість сканування змонтованої файлової системи ext4 (директорії або файлу) з отриманням звіту, в якому вказується ступінь фрагментації. Грунтуючись на цьому показнику, e4defrag видасть вам рекомендації, необхідні наступні документи дефрагментація даної системи.
Зауваження: якщо ступінь дефрагментації знаходиться в діапазоні 0-30, дефрагментація не потрібна. При ступеня фрагментації більше 56% дефрагментація обов'язкове.
На скріншоті свіжовстановленому операційна система, тому ступінь фрагментації дорівнює нулю.
Сканування запускається за допомогою наступної команди:
кілька прикладів
Сканування і дефрагментація своїй домашній директорії:
Сканування і дефрагментація кореневої файлової системи:
Зауваження: в процесі дефрагментації виводяться повідомлення, що повідомляють про виконання операцій. Якщо ви там побачите повідомлення з позначкою "Failure", не переживайте, це нормально, так як деякі системні файли неможливо перемістити.
Не забувайте, що в GNU / Linux всі ваші файли змонтовані в кореневій файловій системі ( "/"), тому якщо у вас змонтовано кілька файлових систем ext4, вони також будуть дефрагментовані, що, в залежності від їх розміру і кількості файлів, може зайняти досить тривалий час.
Якщо у вас кілька розділів з файловою системою ext4, і ви хочете дефрагментувати їх індивідуально, але не знаєте ім'я пристрою (/ dev / sda.), Ви можете зробити це, скориставшись наведеними нижче інструкціями.
1. Введіть наведену нижче команду в терміналі, щоб отримати список наявних розділів і їх файлових систем.
2. Потім у висновку команди знайдіть поле "id". Розділи, у яких в цьому полі стоїть "83", мають файлову систему ext4. Потім в цьому ж рядку знайдіть стовпець "Device", там ви побачите ім'я пристрою. На наведеному нижче скріншоті у мене два таких пристрої - "sda5" і "sda6".
3. Потім просто скопіюйте ім'я пристрою і вставте його в таку команду:
Залежно від типу розділу (встановлена чи ні на ньому операційна система), вам може знадобитися "sudo".
Якщо вас зацікавила ця утиліта і її можливості, більш детальну інформацію можна отримати, прочитавши інструкція:
На цьому все. Хай щастить.