Defragmentace disku srozumitelně.
Proč se soubory rozpadají na kousky, proč kvůli tomu byly pevné disky pomalé, co defragmentace celé ty hodiny vlastně dělala a jestli ji tvůj počítač ještě potřebuje.
Naposledy ověřeno
Co je fragmentace disku?
Systém souborů neukládá soubor bajt po bajtu. Přiděluje místo po kusech pevné velikosti, kterým se říká clustery (neboli alokační jednotky či bloky): je to nejmenší kus místa na disku, který může soubor zabrat. Soubor o velikosti 10 KB zabere na disku s clustery po 4 KB tři clustery.
V ideálním případě leží clustery jednoho souboru hned vedle sebe. Když tomu tak není a soubor je uložený v několika oddělených úsecích roztroušených po disku, je soubor fragmentovaný.
- Jeden soubor ve čtyřech kusech
- Ostatní soubory
- Volné místo
Děje se to samo od sebe, jak se disk používá:
- Mazání nechává díry. Smažeš soubor a z jeho clusterů zbude mezera. Další soubor, který přijde, může být větší než ta mezera, a tak se rozdělí: část skončí v mezeře, zbytek tam, kde je zrovna místo.
- Soubory rostou. Přidáš do dokumentu stránku nebo do logu další den a nové clustery často nemůžou navázat hned za ty staré, protože tam už leží jiný soubor.
- Systém souborů jde po rychlosti, ne po pořádku. FAT, systém souborů MS-DOSu a Windows 95 a 98, obvykle pokračuje od posledního clusteru, který přidělil, a bere další volný. Je to rychlé a časem to soubory rozhází po celém disku.
Fragmentace má ve skutečnosti dvě podoby. Fragmentace souborů znamená, že je soubor rozpadlý na kousky. Fragmentace volného místa znamená, že je prázdné místo rozdrobené na malé mezery – a právě ta způsobuje tu první: když žádná mezera není dost velká, každý nový soubor přijde rovnou po kouscích.
Proč fragmentace zpomalovala pevné disky
Pevný disk je stoh rotujících ploten a čtecí a zapisovací hlava na výkyvném raménku. Než cokoli přečte, musí raménko přesunout hlavu na správnou stopu (vystavení hlavy) a pak počkat, až se pod ni otočí správné místo na plotně (rotační zpoždění). Teprve potom začnou proudit data – a proudí rychle, dokud leží v jednom souvislém úseku.
Každý další fragment znamená další vystavení hlavy a další čekání. Inženýři Microsoftu tyhle dvě prodlevy označili za „dva hlavní viníky“. Soubor rozdělený na 50 kusů je zaplatí 50krát místo jednou.
| Otáčky | Průměrné čekání na plotnu | Typický disk |
|---|---|---|
| 3 600 ot./min | 8,3 ms | Levné disky z konce 90. let, například Quantum Bigfoot CY |
| 5 400 ot./min | 5,6 ms | Disky do notebooků, například Seagate Momentus 5400 |
| 7 200 ot./min | 4,2 ms | Disky do stolních počítačů, například Seagate Barracuda 7200.14 |
| SSD | Žádné | Nic se netočí; kde data leží, nehraje roli |
Pár milisekund zní jako nic, ale za tu dobu by stejný disk přečetl v jednom tahu desítky, nebo dokonce stovky kilobajtů. Proto působil fragmentovaný disk tak líně: programy se spouštěly déle a disk slyšitelně chrastil, jak hlava skákala sem a tam.
Záleží i na tom, kde data leží. Díky zónovému zápisu (zoned bit recording) mají vnější stopy víc sektorů než vnitřní, takže začátek disku (vnější okraj) je jeho nejrychlejší část. Dobré defragmentační programy toho využívaly.
Co defragmentace disku vlastně dělá
Defragmentační program je pečlivý stěhovák. U každého fragmentovaného souboru najde dost velký souvislý volný úsek, zkopíruje do něj kousky ve správném pořadí, kopii zkontroluje, nasměruje systém souborů na nové umístění a teprve potom uvolní staré clustery. Kdyby se cokoli pokazilo uprostřed, originál pořád leží tam, kde byl.
Dobrý defragmentační program přitom ještě:
- Sceluje volné místo do jedné velké oblasti, aby nové soubory měly kam přijít vcelku.
- Rozmísťuje soubory s rozmyslem: systémové a často používané soubory blízko rychlého začátku disku, ty málo používané dál. Ve Windows 98 to šlo tak daleko, že se soubory programů řadily přesně v tom pořadí, v jakém je programy skutečně načítaly.
- Některé věci nechává na pokoji. Ve Windows 2000 se soubory, které měl systém otevřené, třeba stránkovací soubor a hlavní tabulka souborů NTFS (MFT), nedaly za běhu Windows přesunout. Některé nástroje si s nimi poradily ve zvláštním průchodu při startu počítače.
Defragmentace nic nemaže a disk nezvětší. Jen přesouvá data, aby je disk dokázal přečíst s menším počtem přejezdů hlavy.
Defragmentace disku ve Windows 95 a 98
Pro spoustu lidí je tohle ta defragmentace: okno plné malých čtverečků, které pomalu měnily barvu, jak se program prokousával jednotkou C. Dodávala se s Windows 95 a stejně jako příkaz DEFRAG v MS-DOSu 6 ji vytvořil Symantec, firma, která stojí za Norton Utilities a jejich programem Speed Disk.
Kliknutím na Zobrazit podrobnosti se otevřela slavná mapa. Její legenda vysvětlovala každý čtvereček:
- Optimalizovaná (defragmentovaná) dataHotové soubory: vcelku a na svém místě.
- Neoptimalizovaná dataData, která se teprve musí přesunout, rozlišená podle toho, kam patří: na začátek, doprostřed, nebo na konec jednotky.
- Volné místoPrázdné clustery, které čekají, až se zaplní.
- Data, která nebudou přesunutaSoubory, které musí defragmentační program nechat přesně tam, kde jsou.
- Vadná (poškozená) oblast diskuClustery označené jako nepoužitelné. Windows je kreslily jako bílý čtvereček přeškrtnutý červenou čarou.
- Data, která se právě čtouBloky, které hlava právě teď zvedá.
- Data, která se právě zapisujíMísto, kam se ty bloky právě pokládají.
Dole byl řádek, který vysvětluje celý obrázek: „Každý čtvereček představuje jeden cluster disku“ (v anglických Windows „Each box represents one disk cluster“). Barvy tady odpovídají motivu Classic 98 z aplikace Defragment.
Windows 98 přidaly zaškrtávací políčko „Přeuspořádat soubory programů, aby se programy spouštěly rychleji“ (anglicky „Rearrange program files so my programs start faster“). Stál za ním Intel Application Launch Accelerator: malý program Task Monitor si zaznamenával, které části kterých souborů každý program při spuštění čte, a defragmentační program pak tyto části uložil přesně v tomhle pořadí. Ve vlastním testu Intelu z roku 1997 se programy Office spouštěly zhruba za 3,7 sekundy místo 11,3.
Vysvětluje to i jednu pověstnou otravu. Když během defragmentace zapsal na disk něco jiný program (typickým viníkem byl spořič obrazovky), mapa, kterou si defragmentační program sestavil, přestala platit a program začal od začátku. Hodně lidí si pamatuje defragmentaci, která se nikdy nedostala přes 10 %.
Stručná historie defragmentace
- 1986
Diskeeper a DiskExpress
Executive Software vydává Diskeeper pro minipočítače VAX/VMS a Alsoft uvádí na trh DiskExpress pro Mac.
- 1987
Norton Speed Disk
Speed Disk se objevuje v Norton Utilities 4.0 Advanced Edition a stává se jedním z nejznámějších defragmentačních programů éry DOSu.
- 1993
MS-DOS 6.0: DEFRAG
DOS dostává vlastní příkaz
DEFRAG: odlehčený Speed Disk licencovaný od Symantecu. - 1995
Windows 95
Nástroj Defragmentace disku, opět s kódem od Symantecu, přináší mapu clusterů na miliony obrazovek.
- 1996
Windows NT 4.0
Defragmentační program v krabici chybí, ale nové systémové funkce umožňují nástrojům jako Diskeeper bezpečně přesouvat clustery za běhu Windows.
- 1998
Windows 98
Díky Application Launch Acceleratoru od Intelu se defragmentace učí řadit soubory programů v pořadí, v jakém se načítají.
- 2000
Windows 2000 a XP
Defragmentační program vytvořený spolu s firmou Executive Software, autory Diskeeperu. Jeho pruhy ukazují fragmentované soubory červeně, souvislé modře, nepřesunutelné zeleně a volné místo bíle.
- 2003
Mac OS X 10.3 Panther
Systém souborů Macu začíná sám defragmentovat malé, silně fragmentované soubory ve chvíli, kdy se otevírají.
- 2007
Windows Vista
Defragmentace se přesouvá na pozadí, spouští se podle plánu a mapa mizí.
- 2009
Windows 7
Průběh je zase vidět, jde defragmentovat několik jednotek najednou a SSD disky se z defragmentace vynechávají.
- 2012
Windows 8: Optimalizace jednotek
Nástroj se přejmenovává a učí se zacházet se SSD jinak: místo přesouvání dat jim posílá TRIM.
- 2017
APFS
Nový systém souborů od Applu je stavěný pro flash úložiště. Na SSD přestává být defragmentace vůbec tématem.
Defragmentace ve Windows 10 a 11
Windows ji dělají pořád, jen to nevidíš. Nástroj se teď jmenuje Optimalizace jednotek (v nabídce Start hledej „Defragmentovat a optimalizovat jednotky“) a ve výchozím nastavení se jednou týdně spouští sám.
- Na pevném disku jednotku zanalyzuje a zdefragmentuje.
- Na SSD místo toho pošle retrim: řekne disku, které bloky se už nepoužívají.
- Na vyměnitelném USB flash disku nebo SD kartě se systémem souborů FAT nedělá nic.
Jedna výjimka lidi překvapuje. Když je zapnuté Obnovení systému nebo jiné snímky svazků, Windows zdefragmentují i SSD, zhruba jednou za měsíc. Tým Microsoftu pro úložiště vysvětlil, že silně fragmentovaný svazek zpomaluje snímky a může narazit na limit systému souborů, kolik fragmentů smí mít jeden soubor.
Pro fanoušky příkazového řádku: defrag C: /A jednotku zanalyzuje, defrag C: /O spustí optimalizaci vhodnou pro její typ a defrag C: /L provede retrim SSD. Úplná defragmentace chce aspoň 15 % volného místa na jednotce.
Je potřeba defragmentovat SSD?
Ne. SSD nemá hlavu ani rotující plotnu, takže žádné vystavení hlavy ani čekání. Jeho řadič si vede vlastní mapu, která převádí adresy používané počítačem na buňky flash paměti, kde data skutečně leží, a zápisy po čipu záměrně rozkládá. Soubor, který Windows vidí jako fragmentovaný, může být uvnitř SSD kdekoli a přečte se stejně rychle, ať tak, nebo tak.
Defragmentace by jen přepisovala data, která jsou tam, kde jsou, v pořádku, a flash paměť snese jen omezený počet zápisů. Samsung, jeden z největších výrobců SSD, bez obalu uvádí, že defragmentace není potřeba, a u svých disků doporučuje automatickou defragmentaci vypnout.
Co SSD potřebuje, je TRIM: operační systém mu sděluje, které bloky jsou volné, aby je disk mohl předem vymazat a dál zapisovat rychle. Windows i macOS to dělají automaticky a většina linuxových distribucí to pravidelně spouští pomocí časovače.
Potřebuje Mac defragmentaci?
Skoro nikdy. V dobách klasického Mac OS lidé používali nástroje jako DiskExpress a PlusOptimizer od Alsoftu, Speed Disk z Norton Utilities nebo TechTool Pro. Od Mac OS X se o většinu stará systém sám.
- Mac OS X 10.2 přinesl odloženou alokaci: systém souborů s rozhodnutím, kam nová data uloží, chvíli počká, aby pro ně našel jedno souvislé místo.
- Mac OS X 10.3 Panther přinesl automatickou defragmentaci. Když se otevře soubor menší než 20 MB, který je rozdělený na víc než osm kusů, v tichosti se přesune do jednoho kusu.
- Hot File Clustering shromažďuje nejčastěji čtené malé soubory spouštěcího disku do vyhrazené „horké“ oblasti disku.
Apple tehdy sám radil, že se systémem Mac OS X pravděpodobně nebudeš optimalizaci potřebovat vůbec. Dnešní Macy používají APFS na SSD, kde na fragmentaci nezáleží. Pro APFS na klasickém rotujícím pevném disku má macOS přepínač: diskutil apfs defragment, za kterým následuje svazek a status, enable, nebo disable.
Defragmentace v Linuxu
Linuxové systémy souborů jsou navržené tak, aby fragmentaci předcházely, místo aby ji napravovaly, takže defragmentace je potřeba jen zřídka.
- ext4 drží soubory pohromadě pomocí extentů (jeden záznam pro dlouhý úsek bloků), odložené alokace a tím, že data souboru ukládá blízko jeho metadat. Pro výjimečné případy je tu
e4defrag. - XFS má
xfs_fsr, který přeorganizuje nejvíc fragmentované soubory, ve výchozím nastavení nejvýš dvě hodiny na jedno spuštění. - Btrfs má
btrfs filesystem defragmenta volbu připojeníautodefrag, která je ve výchozím stavu vypnutá. Pozor na snímky: defragmentace zruší sdílení dat mezi souborem a jeho kopiemi ve snímcích a obsazené místo může narůst.
Proč se lidé na defragmentaci tak rádi dívali
Někde mezi chrastěním disku a čtverečky, které se ze světlých měnily na tmavé, se z defragmentace stalo něco, na co se dá koukat. Pomalý, spořádaný proces s viditelným koncem, ve kterém každý krok přidá kousek pořádku, je zvláštně uklidňující.
Lidé to vyhledávají dodnes. V roce 2018 psal TechCrunch o kanálu na Twitchi, který nedělal nic jiného, než že nepřetržitě defragmentoval disk v DOSu, a na YouTube se pořád sledují mnohahodinové záznamy defragmentace ve Windows 98, i se zvuky pevného disku.
Právě na tom stojí celý Defragment: klid ze sledování disku, který se uklízí, bez skutečného disku, který by to potřeboval. Tvůj iPhone nebo iPad ukazuje vymyšlený disk, který se defragmentuje donekonečna, v šesti motivech včetně Classic 98, a když chceš, i s časem po straně.
Časté otázky
Mám defragmentovat SSD disk?
Ne. SSD nemají žádné pohyblivé části, takže je fragmentace nezpomaluje, a defragmentace jen přidává opotřebení. Windows místo ní SSD automaticky posílají TRIM; to nech zapnuté.
Probíhá ve Windows 10 a 11 pořád automatická defragmentace?
Ano. Optimalizace jednotek se ve výchozím nastavení spouští každý týden: pevné disky defragmentuje a SSD pošle retrim. Když je zapnuté Obnovení systému, defragmentuje zhruba jednou měsíčně i SSD.
Je potřeba defragmentovat Mac?
Prakticky nikdy. Mac OS X od verze 10.3 defragmentuje malé soubory automaticky a dnešní Macy používají APFS na SSD, kde na tom nezáleží.
Jak dlouho trvá defragmentace?
Záleží na velikosti disku, počtu souborů, na tom, jak je fragmentovaný a jak moc je plný. Na počítači z 90. let mohla úplná defragmentace trvat hodiny a návody k Windows 98 právě před tím varovaly. Dnes ji Windows spouštějí podle plánu, takže pokaždé obvykle zbývá jen málo práce.
Je bezpečné zastavit defragmentaci v polovině?
Ano. Právě na to jsou tam tlačítka Pozastavit a Zastavit a defragmentační program každý kousek nejdřív zkopíruje a zkontroluje, než uvolní jeho staré místo. Náhlý výpadek proudu je jiná věc – proto defragmentovat notebook s téměř vybitou baterií nikdy nebyl dobrý nápad.
Maže defragmentace soubory?
Ne, jen je přesouvá. Přepisuje ale volné místo, takže dříve smazané soubory se potom hůř obnovují.
Kolik volného místa defragmentace potřebuje?
Tolik, aby bylo kam věci přesouvat. Microsoft pro úplnou defragmentaci požaduje aspoň 15 % volného místa na jednotce; s menším zůstanou některé soubory rozdělené na kousky.
Proč se defragmentace ve Windows 98 pořád restartovala?
Protože během její práce zapisovalo na disk něco jiného, typicky spořič obrazovky nebo program na pozadí. Její mapa disku pak přestala odpovídat skutečnosti, a tak začala znovu. Pomáhalo zavřít ostatní programy a vypnout spořič obrazovky.
Co znamená „Každý čtvereček představuje jeden cluster disku“?
Každý čtvereček na mapě ve Windows 95 a 98 představoval jeden cluster, nejmenší kus místa na disku, který může soubor použít. Barva ukazovala, co v něm je: hotová data, data, která se ještě musí přesunout, volné místo a tak dál.
Dá se na defragmentaci ještě někde dívat?
Ano: Defragment pro iPhone a iPad je přesně o tom – disk, který se defragmentuje donekonečna, i v motivu Classic 98. Na skutečná data přitom nesáhne.
Koukej, jak se disk zase uklízí.
Defragment je klidná, nekonečná defragmentace pro tvůj iPhone a iPad. Zdarma, se šesti motivy a hodinami – a nic skutečného se nedefragmentuje.
Již brzy v App StorePodívej se na DefragmentZdroje
Ověřeno podle příruček, dokumentace Microsoftu a Applu a dobových zdrojů.
- Microsoft: Disk defragmentation background and engineering the Windows 7 improvements (2009)
- Microsoft: Disk defragmentation in Windows 2000
- Microsoft Learn: defrag command
- Microsoft Learn: Optimize-Volume
- Microsoft Support: Defragment or optimise your drives in Windows
- Microsoft KB Q120962: DEFRAG in MS-DOS 6 is developed by Symantec
- Microsoft KB Q160043: bad clusters in the Disk Defragmenter map
- Microsoft KB Q155679: Windows NT 4.0 has no disk defragmenter
- Microsoft KB 186978: Disk Defragmenter restarts repeatedly
- Intel: Application Launch Accelerator announcement (1997)
- Scott Hanselman: Does Windows defragment your SSD? (2014)
- Apple: About disk optimization with Mac OS X (HT1375)
- Amit Singh: Fragmentation in HFS Plus volumes
- Linux kernel documentation: ext4 block and inode allocators
- xfs_fsr: manuálová stránka
- Btrfs documentation: Defragmentation
- Samsung Semiconductor: SSD FAQ
- Wikipedia: Hard disk drive performance characteristics
- Wikipedia: Quantum Bigfoot
- Seagate Barracuda 7200.14: katalogový list
- Seagate Momentus 5400: produktová příručka
- Alsoft: company history
- Wikipedia: Norton Utilities
- Wikipedia: Diskeeper
- TechCrunch: Watch a hard drive defrag forever on Twitch (2018)