Дефрагментація дисків - основні поняття і зміни в windows 7

Сьогодні мова піде про процес дефрагментації дисків в Windows 7. Перед тим, як перейти до обговорення нововведень в Windows 7, давайте трохи поговоримо про те, що таке фрагментація.

Відео: Дефрагментація жорсткого диска в Windows 7,8,8.1, XP. Що це? Як зробити? І чи потрібна взагалі?

В ряду різних пристроїв зберігання інформації, що наповнюють канал зв`язку між жорстким диском і процесором, жорсткий диск є, мабуть, менш швидкісним в порівнянні з іншими пристроями і має більш високу латентність. Показники часу читання / запису для жорстких дисків вимірюються в мілісекундах (як правило, 2-5 мс). Здається, що швидко, але поки не порівняєш з циклом процесора з тактовою частотою в 2 ГГц, що становить 10 нс, після яких інформації виявляється в L1-кеш.

Цей пролом в продуктивності протягом двох останніх десятиліть тільки збільшувалася.

Збільшення продуктивності процесорів і дисків в останні роки
Рис.1 Збільшення продуктивності процесорів і дисків в останні роки

Покращення продуктивності за рахунок різних технологій
Рис.2 Покращення продуктивності за рахунок різних технологій

Графіки вище показують, що незважаючи на збільшення ємності дисків, швидкості читання / запису росли зовсім непропорційно. Таким чином, на сучасних дисках міститься величезна кількість даних, читання / запис яких займає досить тривалий час. А швидкі процесори змушені простоювати в очікуванні даних, які необхідно обробити.

Збільшення загальної продуктивності системи введення / виводу присвячена маса досліджень, що призвели до появи двох принципів, яким ОС намагається відповідати:

  1. Виконувати менше операцій введення / виводу, тобто мінімізувати кількість звернень на читання / запис на диск
  2. При виникненні запиту на введення / виведення передати дані великими порціями.

Правила досить логічні і раціональні, тому зрозуміти їх просто:

  1. При будь-якому запиті на введення / виведення в справу вступають різні програмні і апаратні компоненти, які виконують цей запит. В цьому і полягає причина високої латентності, тобто часу, необхідного для його виконання. Користувачі часто стикаються з латентністю при читанні інформації, яка веде до виникнення почуття незадоволеності.
  2. Переміщення механічних елементів також вносить свою лепту в латентність. Для жорстких дисків «час обертання» (час, необхідний для повороту диска в потрібне положення під головку) і «час пошуку» (час, необхідний для переміщення головки до потрібного трек на диску) є двома основними характеристиками, що впливають на латентність. Читання або запис великих обсягів даних дозволяє нівелювати ці характеристики. Іншими словами, час, необхідний для передачі одиниці інформації, зменшується.

Такі файлові системи, як NTFS покликані відповідати двом означеним правилам. Розглянемо, наприклад, відтворення композиції «Hotel California», виконаної групою «The Eagles» (до речі, одна з моїх улюблених груп). Коли я вперше зберігаю mp3-файл обсягом 5 Мб на диску, отформатированном під файлову систему NTFS, файлова система починає шукати вільне місце для того, щоб розмістити 5 Мб даних поруч в одному місці. Логічно пов`язана інформація (наприклад, вміст одного файлу або папки), як правило, читається / записується приблизно в один і той же час. Зазвичай я слухаю «Hotel California» цілком, а не якусь окрему його частину. В ході трихвилинного відтворення комп`ютер буде послідовно довантажувати з диска порції логічно пов`язаного контенту (тобто частин файлу) до тих пір, поки відтворення не завершиться. Якщо система знає, що все порції файлу розташовані в одному місці, вона може ініціювати запити великих обсягів інформації (з попередньої буферизацией даних, які, на думку системи, будуть задіяні в найближчий момент часу), що дозволяє мінімізувати механічні переміщення головки жорсткого диска і, як наслідок, скоротити загальний обсяг операцій введення / виводу.

Так чому ж виникає явище фрагментації файлів, якщо файлова система прагне розміщувати інформацію послідовно? Модифікація інформації, що зберігається (додавання, зміна або видалення) призводить до змін в розміщенні інформації на диску і може привести до його фрагментації. Так, наприклад, видалення файлу призводить до перерозподілу простору і викликає появу «дірок» на карті розподілу блоків. Це явище носить назву фрагментації доступного вільного простору. З плином часу системі стає все важче й важче відшукувати послідовно розташовані вільні сектора, що веде до фрагментації і нової інформації. Очевидно, що процедура видалення є далеко не єдиною причиною фрагментації: як говорилося вище, інші файлові операції, такі як редагування або додавання нової інформації до вже існуючої, також призводять до виникнення цього неприємного явища.




Так яким же чином може допомогти дефрагментація? Процедура дефрагментації дозволяє розміщувати дані на жорсткому диску більш оптимально і володіє наступними перевагами:

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

Нижерасположенной діаграма допоможе проілюструвати те, про що ми говоримо. Перша ілюстрація відображає ідеальний стан диска - є три файли (A, B і C), які розміщені в суміжних секторах- фрагментації немає. Друга ілюстрація показує фрагментований диск - порція даних, асоційованих з файлом A, розміщена не в суміжному секторі (в зв`язку зі збільшенням розміру файлу). Третя ілюстрація показує, як буде виглядати карта розподілу після дефрагментації.

Схема дефрагментації диска
Мал. 3 Схема дефрагментації диска

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

В часом необхідність в дефрагментації лише збільшувалася, оскільки історично фрагментація була проблемою, яка надавала серйозний вплив на продуктивність. На світанку комп`ютерної ери, коли обсяги дисків вимірювалися мегабайтами, вони заповнювалися набагато швидше, ніж зараз, тому фрагментація траплялася набагато частіше. Кеші пам`яті були вельми обмежені і чуйність системи в значній мірі залежала від продуктивності дискової системи. Це призвело до того, що користувачам доводилося запускати процедуру дефрагментації щотижня або навіть частіше! Сьогодні доступність дисків високої ємності частково вирішила проблему фрагментації. Та й пам`ять стала більш настільки доступною, що її, як правило, досить для кешування активно використовуваних даних. Все це разом зі змінами в стратегії розподілу даних, кешуванням та функціями попередньої вибірки допомагає збільшити загальну чуйність системи. І хоча розрив між швидкостями процесора і диска продовжує збільшуватися, а фрагментація нікуди не зникає, програмні та апаратні технології дозволяють Windows нівелювати вплив фрагментації на продуктивність і збільшують чуйність системи.




Як же оцінювати фрагментацію на базі існуючих програмного і апаратного забезпечень? Перше питання може звучати так: настільки часто трапляється фрагментація і які має масштаби? 500 Гб інформації з 1% фрагментацією - це зовсім не одне і те ж, що 500 Гб з 50% фрагментацією. По-друге, які реальні втрати продуктивності від фрагментації на сучасних програмне і апаратне забезпеченнях? Далеко не всі сьогодні пам`ятають різні продукти, що з`являлися протягом останніх двох десятиліть і пропонували різні технології збільшення продуктивності (наприклад, дефрагментацію оперативної пам`яті, стиснення диска і т.д.), велика частина яких втратила сенс через переваг сучасних додатків і пристроїв.

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

  • Доступності системи, яка з плином часу акумулювала фрагментацію за типовою схемою використання. Але, як зазначено вище, немає єдиної схеми використання. Так, наприклад, частота і масштаби фрагментації комп`ютера, використовуваного виключно для доступу до Інтернету, будуть суттєво відрізнятися від таких для файлового сервера.
  • Вибору коректних тестових додатків, що вимірюють дискову продуктивність при першому і наступних запусках програми.
  • Багаторазового повторення статистично значущих вимірів.

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

У Windows XP будь-який файл, розбитий на кілька елементів, вважається фрагментованим. У Windows Vista в разі, якщо фрагменти досить великі, все по-іншому - алгоритм дефрагментації був змінений так, щоб ігнорувати фрагменти файлу обсягом понад 64 Мб. В результаті утиліти для дефрагментації в XP і Vista будуть повідомляти про різного ступеня фрагментації одного і того ж томи. Який результат вважати правильним? Перед тим, як відповісти на це питання, потрібно зрозуміти, чому процедура дефрагментації в Vista була змінена. У Vista ми проаналізували вплив дефрагментації і визначили, що найбільшу вигоду від дефрагментації можна отримати, коли фрагменти файлів об`єднані в досить великі скупчення. Вплив латентності диска в такому випадку виглядає трохи в порівнянні з латентністю, пов`язаної з послідовним читанням файлу. Це означає, що існує така точка, а точніше обсяг, після якого об`єднувати фрагменти файлу не має сенсу. Насправді, це робить негативний вплив на продуктивність. Наприклад, для дефрагментації фрагментів обсягом 64 Мб і більше потрібна значна кількість операцій введення / виводу, що суперечить одному з принципів, про які говорилося вище, і файлову систему навантажується пошуком протяжних ділянок вільного простору. У такому сценарії, коли невелика фрагментація файлів не впливає на продуктивність, правильною відповіддю буде нічого не робити!

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

Механізм і сама процедура дефрагментації в Windows 7 засновані на ретельному аналізі впливу на чуйність системи.

У Windows Vista ми позбулися від усіх елементів інтерфейсів, які інформували користувача про статус дефрагментації. Ми отримали масу негативних відгуків з приводу цього рішення, тому оцінивши всі за і проти, ми створили для дефрагментації новий графічний інтерфейс! В результаті в Windows 7 ви можете спостерігати за процесом дефрагментації. Більш того, при необхідності процедуру дефрагментації можна безпечно призупинити. Наведені нижче знімки екранів ілюструють простоту спостереження:

Дефрагментація диска

управління дефрагментацією
Мал. 4. Управління дефрагментацією

У Windows XP процедура дефрагментації могла бути запущена лише самим користувачем, тобто можливості запуску за розкладом передбачено не було. Така можливість була додана Windows Vista, але запропонована нами реалізація не дозволяла здійснювати одночасну дефрагментацію декількох томів. У Windows 7 цього обмеження немає і тепер можливо дефрагментувати кілька томів одночасно! Представлені нижче ілюстрації показують, яким чином можна планувати завдання дефрагментації декількох дисків:

Дефрагментація диска, за розкладом

Завдання часу виконання дефрагментації
Мал. 5. Завдання часу виконання дефрагментації

Серед інших змін, прихованих в глибинах Windows 7, слід зазначити наступні:

  • Дефрагментація в Windows 7 носить всеосяжний характер - багато файлів, які в Windows Vista і більш ранніх версіях Windows з яких-небудь причин не могли бути переміщені, тепер можуть бути дефрагментовані. Зокрема, це стосується різних файлів з метаданими NTFS. Можливість перерозподілу файлів з метаданими NTFS вигідна ще й тим, що звільняє деякий простір на диску, оскільки дозволяє системі упаковувати системні файли і файли метаданими більш щільно.
  • При виявленні твердотільних дисків Windows автоматично відключає дефрагментацію на ньому. Природа SSD-дисків така, що дефрагментація їм просто не потрібна, а в більшості випадків і шкідлива, тому що скорочує термін роботи.
  • За замовчуванням дефрагментація на Windows Server 2008 R2 відключена. Беручи до уваги неоднорідність робочих навантажень на сервер, дефрагментація повинна включатися і налаштовуватися виключно адміністратором, який розуміє ці робочі навантаження.

Відео: Що таке дефрагментація диска і навіщо вона потрібна?

Ідеальним рішенням по використанню дефрагментації в Windows 7 є просте спостереження за тим, як ОС все зробить сама! Дефрагментація налаштована на періодичний запуск в тлі з метою мінімізувати її вплив на системну продуктивність. Ефективне розміщення даних на диску забезпечить максимальну чуйність системи і дозволить насолоджуватися безсмертним творінням «The Eagles» без жодних зависань і завмирань.

Раджив і Метт
джерело: E7Blog

Поділися в соціальних мережах:

Схожі
Що таке raid масив і для чого він потрібен?Що таке raid масив і для чого він потрібен?
Команда diskcomp - порівняння вмісту двох гнучких дисків в windowsКоманда diskcomp - порівняння вмісту двох гнучких дисків в windows
Mq01acf - нова серія ультратонких жорстких дисків від toshibaMq01acf - нова серія ультратонких жорстких дисків від toshiba
Toshiba представила нову серію ультратонких жорстких дисківToshiba представила нову серію ультратонких жорстких дисків
Збільшення продуктивності в windows vistaЗбільшення продуктивності в windows vista
Ноутбук для windows vistaНоутбук для windows vista
Команда diskcopy - копіювання гнучких дисків в windowsКоманда diskcopy - копіювання гнучких дисків в windows
Індекс продуктивності windows 8 vs windows 7Індекс продуктивності windows 8 vs windows 7
Створення завантажувальних дисківСтворення завантажувальних дисків
Утиліта від western digital збільшить ємність жорстких дисків на 10%Утиліта від western digital збільшить ємність жорстких дисків на 10%
» » Дефрагментація дисків - основні поняття і зміни в windows 7