Чому фрагменти дисків?


18

У рамках регулярного обслуговування Windows я дефрагментую свій жорсткий диск. Але чому фрагмент жорсткого диска в системах NTFS і FAT *? Очевидно ext * не робить, чому це? Чи варто також дефрагментацію USB-накопичувачів?


Не деструктуруйте твердотілі пристрої. Навіть не в Windows. Це погано для твердотільного пристрою і не потрібне.
ctrl-alt-delor

Відповіді:


22

Фрагментація - це не те питання, яке було 30 років тому. Тоді у вас були жорсткі диски, які були дещо швидшими, ніж дискети, і розміри пам'яті процесора, які були незначними. Тепер у вас є дуже швидкі диски та велика пам'ять процесора, а іноді і значна буферизація на жорсткому диску чи в контролері. Плюс розміри сектору збільшилися (або файли виділяються у більші блоки), так що більше даних по суті є суміжними.

Операційні системи також стали розумнішими. Тоді як DOS 1.x отримав би кожен сектор з диска, на який він посилався, сучасна ОС може бачити, що у вас відкритий файл для послідовного доступу, і може обґрунтовано передбачити, що ви будете отримувати додаткові сектори, коли ви будете споживати ті, що у вас зараз. Таким чином, він може «заздалегідь отримати» наступні кілька (десяток) секторів.

І тим більше, що часто краще, щоб файл не був суміжним. У (великій) системі, де файлова система поширюється на декілька дисків, фактично можна отримати доступ до файлу швидше, якщо він також "розповсюджений", оскільки декілька дисків можуть шукати файл одночасно.

Я дефрагментую кожні 2-3 роки, потрібен мій ящик чи ні.

[Я додам, що важливим є не стільки дефрагментація даних на диску, скільки свободне місце. FAT був жахливий у цьому - якщо ви не знешкоджені речі продовжували гірше і гірше, поки не було двох суміжних блоків вільного простору. Більшість інших схем можуть згуртовувати вільний простір та виділяти шматочки дещо «розумним» способом, так що фрагментація досягає певного порогу, а потім стабілізується, а не стає гіршим і гіршим.]


2
Я не дефрагментував систему з 2005 року. Там я це сказав.
BlueRaja - Danny Pflughoeft

2
@BlueRaja. Якщо ви робите багато дискових операцій на обертовому сховищі, дефрагментація допомагає. Нещодавно я виявив, що запуск збірки мого додатку (2 ГБ вихідного коду та активів) після дефрагментації приблизно на 20% швидше, і вікні було ~ 1 місяць.
liori

2
Інформаційний та корисний пост, але не відповідь на оригінальне запитання. Я здивований, коли це прийнято.
EMP

Я ніколи не дефрагментував свою систему. Зараз їй близько 10 років. Я щойно зробив сканування вперше, рівень фрагментації дуже низький (2,3% без суміжності). Я використовую файлову систему ext4. Також я ніколи не проводив сканування вірусів; Ніколи не проблема.
ctrl-alt-delor

13

ВСЕ фрагмент файлових систем. ext та інші файлові системи Linux фрагментують менше через те, як вони розроблені - цитувати Вікіпедію щодо Посібника з адміністраторів мережевих мереж Linux :

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

Зауважу, хоча у ext4 є дефрагментація в Інтернеті, тому з часом фрагментація є проблемою навіть у файлових системах Linux.

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

Зауважу, однак, Windows 7 має заплановані запуски дефрагментації, тому не потрібно вручну запускати дефрагментацію.


Зауважу, що запланована дефрагментація не була включена за замовчуванням на жодному з моїх комп'ютерів.
Саймон Шихан

5
ext* не дефрагментується, як йде далі. trac.transmissionbt.com/ticket/849 та h-online.com/open/features/… . ext*мінімізує фрагментацію, зберігаючи суміжні дані у випадкових місцях на диску. Випадкові зсуви поширюють суміжні файли навколо диска і зменшують потребу в фрагментації файлу.
ta.speot.is

Будь-яке слово про те, як Reiser / XFS уникають фрагментації? Я завжди цікавився ними, але вони здаються в основному незадокументованими по відношенню до доб.
new123456

1
редагували, щоб виправити мою відповідь, поки ці коментарі були зроблені. Ext4 НЕ робить дефрагментацію в Інтернеті від того, що я можу сказати. доб. 2/3 не до.
Подорожник Geek

3
За замовчуванням у Windows 7 дефрагментація запланована на середу о 1 годині ночі. Якщо ваш комп'ютер зараз не ввімкнений, дефрагментація може ніколи не відбутися. Я особисто рекомендую вам дозволити запуск щоденної дефрагментації за розкладом (або іншим способом дефрагментацію щотижня), оскільки це не займе багато часу, і це на 100% гарантує, що фрагментація ніколи не стане проблемою.
jcrawfordor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.