Přeskočit na obsah
Defragment
Stáhnout
Krátký průvodce

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ý.

PředPo
  • Jeden soubor ve čtyřech kusech
  • Ostatní soubory
  • Volné místo
Jeden soubor ve čtyřech kusech, rozházený mezi ostatními soubory a mezerami. Po defragmentaci leží vcelku, ostatní soubory jsou natěsnané hned za ním a volné místo je shromážděné na konci.

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.

Průměrné čekání odpovídá polovině otáčky: 30 ÷ ot./min sekund. Vystavení hlavy se k tomu ještě přičítá: kolem 15 ms u prvních disků Bigfoot od firmy Quantum z roku 1996, pod 8,5 ms u Barracudy 7200.14.
OtáčkyPrůměrné čekání na plotnuTypický disk
3 600 ot./min8,3 msLevné disky z konce 90. let, například Quantum Bigfoot CY
5 400 ot./min5,6 msDisky do notebooků, například Seagate Momentus 5400
7 200 ot./min4,2 msDisky 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.

Naživo: hlava čte roztroušené bloky dál na disku a zapisuje je do mezer vpředu, takže jejich stará místa zůstávají prázdná. Odshora přibývají uklizené řádky.

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.

Defragmentace jednotky C
Defragmentuji systém souborů…Dokončeno 0 %
Podrobnosti: Foukám do disketové mechaniky
Motiv Classic 98 z aplikace Defragment, naživo. Pozastav ho, udělej mu nový nepořádek, nebo otevři legendu.

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

  1. 1986

    Diskeeper a DiskExpress

    Executive Software vydává Diskeeper pro minipočítače VAX/VMS a Alsoft uvádí na trh DiskExpress pro Mac.

  2. 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.

  3. 1993

    MS-DOS 6.0: DEFRAG

    DOS dostává vlastní příkaz DEFRAG: odlehčený Speed Disk licencovaný od Symantecu.

  4. 1995

    Windows 95

    Nástroj Defragmentace disku, opět s kódem od Symantecu, přináší mapu clusterů na miliony obrazovek.

  5. 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.

  6. 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í.

  7. 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.

  8. 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í.

  9. 2007

    Windows Vista

    Defragmentace se přesouvá na pozadí, spouští se podle plánu a mapa mizí.

  10. 2009

    Windows 7

    Průběh je zase vidět, jde defragmentovat několik jednotek najednou a SSD disky se z defragmentace vynechávají.

  11. 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.

  12. 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 defragment a 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 Defragment

Zdroje

Ověřeno podle příruček, dokumentace Microsoftu a Applu a dobových zdrojů.

  1. Microsoft: Disk defragmentation background and engineering the Windows 7 improvements (2009)
  2. Microsoft: Disk defragmentation in Windows 2000
  3. Microsoft Learn: defrag command
  4. Microsoft Learn: Optimize-Volume
  5. Microsoft Support: Defragment or optimise your drives in Windows
  6. Microsoft KB Q120962: DEFRAG in MS-DOS 6 is developed by Symantec
  7. Microsoft KB Q160043: bad clusters in the Disk Defragmenter map
  8. Microsoft KB Q155679: Windows NT 4.0 has no disk defragmenter
  9. Microsoft KB 186978: Disk Defragmenter restarts repeatedly
  10. Intel: Application Launch Accelerator announcement (1997)
  11. Scott Hanselman: Does Windows defragment your SSD? (2014)
  12. Apple: About disk optimization with Mac OS X (HT1375)
  13. Amit Singh: Fragmentation in HFS Plus volumes
  14. Linux kernel documentation: ext4 block and inode allocators
  15. xfs_fsr: manuálová stránka
  16. Btrfs documentation: Defragmentation
  17. Samsung Semiconductor: SSD FAQ
  18. Wikipedia: Hard disk drive performance characteristics
  19. Wikipedia: Quantum Bigfoot
  20. Seagate Barracuda 7200.14: katalogový list
  21. Seagate Momentus 5400: produktová příručka
  22. Alsoft: company history
  23. Wikipedia: Norton Utilities
  24. Wikipedia: Diskeeper
  25. TechCrunch: Watch a hard drive defrag forever on Twitch (2018)