Windows XP – Defragmentierer und komprimierte Dateien

Der in Windows XP eingebaute Defragmentierer kann offensichtlich nicht (gut) mit komprimierten Dateien umgehen.

Hier ein Auszug aus dem Analysis-Lauf (Text-Export der GUI):

Volume DRIVE (D:)
    Volume size                                = 129 GB
    Cluster size                               = 4 KB
    Used space                                 = 99,70 GB
    Free space                                 = 29,34 GB
    Percent free space                         = 22 %

Volume fragmentation
    Total fragmentation                        = 18 %
    File fragmentation                         = 33 %
    Free space fragmentation                   = 4 %

File fragmentation
    Total files                                = 993.513
    Average file size                          = 161 KB
    Total fragmented files                     = 22.645
    Total excess fragments                     = 419.442
    Average fragments per file                 = 1,42

Pagefile fragmentation
    Pagefile size                              = 0 bytes
    Total fragments                            = 0

Folder fragmentation
    Total folders                              = 135.030
    Fragmented folders                         = 143
    Excess folder fragments                    = 700

Master File Table (MFT) fragmentation
    Total MFT size                             = 1,09 GB
    MFT record count                           = 1.134.283
    Percent MFT in use                         = 99 %
    Total MFT fragments                        = 4

--------------------------------------------------------------------------------
Fragments       File Size       Most fragmented files
8.599           658 MB          \path\to\file
8.065           504 MB          \path\to\file
7.879           499 MB          \path\to\file
7.808           501 MB          \path\to\file
7.064           442 MB          \path\to\file
6.666           658 MB          \path\to\file
6.568           411 MB          \path\to\file
6.546           409 MB          \path\to\file
6.487           977 MB          \path\to\file
5.250           341 MB          \path\to\file
5.024           343 MB          \path\to\file
4.674           341 MB          \path\to\file
4.474           933 MB          \path\to\file
4.273           361 MB          \path\to\file

Die Dateien liegen dabei ausnahmslos in komprimierten Verzeichnissen einer NTFS-Partition. Auch ein mehrmaliger Lauf des Defragmentierers brachte keine großartige Veränderung obiger Ausgabe.

Abhilfe brachte das Tool contig von Microsoft (vormals von Sysinternals). contig ermöglicht das explizite Defragementieren einzelner Dateien oder Unterverzeichnisse. Es benutzt dabei wie das mit Windows mitgelieferte defrag.exe die Defragmentier-API des Betriebssystems. Es sollte also beim Betrieb zu keinen Problemen wie Datenverlusten kommen, da das Betriebsystem über die ganze Aktion informiert ist bzw. sie sogar selbst durchführt.

Nach dem Anwenden von contig und dem Aufruf des regulären defrag.exe ergibt sich folgendes Bild:

Volume DRIVE (D:)
    Volume size                                = 129 GB
    Cluster size                               = 4 KB
    Used space                                 = 99,70 GB
    Free space                                 = 29,34 GB
    Percent free space                         = 22 %

Volume fragmentation
    Total fragmentation                        = 18 %
    File fragmentation                         = 33 %
    Free space fragmentation                   = 4 %

File fragmentation
    Total files                                = 993.513
    Average file size                          = 161 KB
    Total fragmented files                     = 22.645
    Total excess fragments                     = 419.442
    Average fragments per file                 = 1,42

Pagefile fragmentation
    Pagefile size                              = 0 bytes
    Total fragments                            = 0

Folder fragmentation
    Total folders                              = 135.030
    Fragmented folders                         = 143
    Excess folder fragments                    = 700

Master File Table (MFT) fragmentation
    Total MFT size                             = 1,09 GB
    MFT record count                           = 1.134.283
    Percent MFT in use                         = 99 %
    Total MFT fragments                        = 4

--------------------------------------------------------------------------------
1.270           408 MB          \path\to\file
103             977 MB          \path\to\file
96              658 MB          \path\to\file
84              658 MB          \path\to\file
66              500 MB          \path\to\file
65              933 MB          \path\to\file
32              1 KB            \path\to\file
31              932 MB          \path\to\file
27              500 MB          \path\to\file
12              361 MB          \path\to\file
11              361 MB          \path\to\file
10              361 MB          \path\to\file
10              442 MB          \path\to\file
9               361 MB          \path\to\file
7               145 KB          \path\to\file
7               1 KB            \path\to\file
7               1 KB            \path\to\file

Es hat sich also eine erhebliche Verbesserung eingestellt. Es gibt einen lesenswerten Technet-Artikel zum Thema, in dem ein ehemaliger Sysinternals-Mitarbeiter über die Geschichte der Defragmentierung in Windows schreibt und über Großstadt-Mythen aufklärt. Interessant auch, daß ab Windows-Vista wohl automatisch defragmentiert wird.