Jak system Windows oblicza procent fragmentacji?

1

Podczas biegu defrag -a -v C: w systemie Windows 2008 R2 otrzymałem następujące dane wyjściowe:

Windows Disk Defragmenter
Copyright (c) 2006 Microsoft Corp.

Analysis report for volume C:

    Volume size                         = 40.00 GB
    Cluster size                        = 4 KB
    Used space                          = 13.94 GB
    Free space                          = 26.06 GB
    Percent free space                  = 65 %

File fragmentation
    Percent file fragmentation          = 19 %
    Total movable files                 = 73,181
    Average file size                   = 233 KB
    Total fragmented files              = 1,574
    Total excess fragments              = 5,611
    Average fragments per file          = 1.09
    Total unmovable files               = 21

The Fragmentacja pliku procentowego wartość wydaje mi się bardzo dziwna. Z liczby plików 1574 pofragmentowane pliki to tylko 2% całkowitej liczby plików.

Jak system Windows oblicza Fragmentacja pliku procentowego wartość?

jpa
źródło
19% to ilość fragmentacji we wszystkich plikach w porównaniu z całkowitą liczbą segmentów plików w każdym sektorze.
Ramhound
System Windows pomija pliki o rozmiarze przekraczającym 64 MB, więc sądzę, że 19% jest obliczanych na podstawie plików mniejszych niż 64 MB: „W systemie Windows XP każdy plik podzielony na więcej niż jeden element jest uważany za pofragmentowany. Nie w systemie Windows Vista, jeśli fragmenty są wystarczająco duże - zmieniono algorytm defragmentacji (z systemu Windows XP), aby zignorować fragmenty pliku większe niż 64 MB. W rezultacie defragmentacja w systemie XP i defragmentacja w systemie Vista zgłosi różne ilości fragmentacji na woluminie. " blogs.msdn.com/b/e7/archive/2009/01/25/…
magicandre1981
@ magicandre1981 Zauważ, że w użyciu jest tylko 14 GB miejsca. Oznacza to, że nie może być więcej niż 200 plików ponad 64 MB. Więc nie sądzę, żeby to wyjaśniało różnicę, gdy całkowita liczba plików wynosi 73 181.
jpa

Odpowiedzi:

2

Wygląda na to że:

Fragmentacja pliku procentowego = Procent wolnego miejsca (po defragmentacji) - Procent wolnego miejsca (przed defragmentacją)

Innymi słowy, procent wolnego miejsca dodanego przez wykonanie pełnej defragmentacji.

Jak widać, 7% = 31% - 24%:

C:\Windows\system32>defrag c: -w -v
Windows Disk Defragmenter
Copyright (c) 2006 Microsoft Corp.`

Defragmentation report for volume C:

    Volume size                         = 74.53 GB
    Cluster size                        = 4 KB
    Used space                          = 55.96 GB
    Free space                          = 18.57 GB
    Percent free space                  = 24 %

File fragmentation
    Percent file fragmentation          = 7 %
    Total movable files                 = 203,178
    Average file size                   = 342 KB
    Total fragmented files              = 3,641
    Total excess fragments              = 32,280
    Average fragments per file          = 1.19
    Total unmovable files               = 26

Free space fragmentation
    Free space                          = 18.57 GB
    Total free space extent             = 22,689
    Average free space per extent       = 858 KB
    Largest free space extent           = 4.09 GB

Folder fragmentation
    Total folders                       = 40,150
    Fragmented folders                  = 155
    Excess folder fragments             = 567

Master File Table (MFT) fragmentation
    Total MFT size                      = 203 MB
    MFT record count                    = 205,234
    Percent MFT in use                  = 98
    Total MFT fragments                 = 3

    Note: On NTFS volumes, file fragments larger than 64MB are not included in the fragmentation statistics

Defragmentation report for volume C:

    Volume size                         = 74.53 GB
    Cluster size                        = 4 KB
    Used space                          = 50.90 GB
    Free space                          = 23.62 GB
    Percent free space                  = 31 %

File fragmentation
    Percent file fragmentation          = 0 %
    Total movable files                 = 203,178
    Average file size                   = 342 KB
    Total fragmented files              = 3
    Total excess fragments              = 1,152
    Average fragments per file          = 1.00
    Total unmovable files               = 26

Free space fragmentation
    Free space                          = 23.62 GB
    Total free space extent             = 10,109
    Average free space per extent       = 2 MB
    Largest free space extent           = 6.99 GB

Folder fragmentation
    Total folders                       = 40,150
    Fragmented folders                  = 1
    Excess folder fragments             = 0

Master File Table (MFT) fragmentation
    Total MFT size                      = 203 MB
    MFT record count                    = 205,234
    Percent MFT in use                  = 98
    Total MFT fragments                 = 3

    Note: On NTFS volumes, file fragments larger than 64MB are not included in the fragmentation statistics

C:\Windows\system32>  

Z drugiej strony, gdy po defragmentacji dysku Procent wolnego miejsca nie zmienia się ani Fragmentacja pliku procentowego nie zmienia się, nawet jeśli Łącznie pofragmentowane pliki liczba się zmienia:

C:\Windows\system32>defrag d: -w -v -f
Windows Disk Defragmenter
Copyright (c) 2006 Microsoft Corp.

Defragmentation report for volume D:

    Volume size                         = 932 GB
    Cluster size                        = 4 KB
    Used space                          = 841 GB
    Free space                          = 90.89 GB
    Percent free space                  = 9 %

File fragmentation
    Percent file fragmentation          = 2 %
    Total movable files                 = 400,108
    Average file size                   = 2 MB
    Total fragmented files              = 7,671
    Total excess fragments              = 1,420,753
    Average fragments per file          = 4.70
    Total unmovable files               = 7

Free space fragmentation
    Free space                          = 90.89 GB
    Total free space extent             = 213,633
    Average free space per extent       = 446 KB
    Largest free space extent           = 27.46 GB

Folder fragmentation
    Total folders                       = 16,189
    Fragmented folders                  = 526
    Excess folder fragments             = 2,304

Master File Table (MFT) fragmentation
    Total MFT size                      = 421 MB
    MFT record count                    = 405,678
    Percent MFT in use                  = 94
    Total MFT fragments                 = 3

    Note: On NTFS volumes, file fragments larger than 64MB are not included in the fragmentation statistics

Defragmentation report for volume D:

    Volume size                         = 932 GB
    Cluster size                        = 4 KB
    Used space                          = 841 GB
    Free space                          = 90.89 GB
    Percent free space                  = 9 %

File fragmentation
    Percent file fragmentation          = 2 %
    Total movable files                 = 400,108
    Average file size                   = 2 MB
    Total fragmented files              = 353
    Total excess fragments              = 1,226,342
    Average fragments per file          = 4.19
    Total unmovable files               = 7

Free space fragmentation
    Free space                          = 90.89 GB
    Total free space extent             = 260,094
    Average free space per extent       = 366 KB
    Largest free space extent           = 27.46 GB

Folder fragmentation
    Total folders                       = 16,189
    Fragmented folders                  = 1
    Excess folder fragments             = 0

Master File Table (MFT) fragmentation
    Total MFT size                      = 421 MB
    MFT record count                    = 405,678
    Percent MFT in use                  = 94
    Total MFT fragments                 = 3

    Note: On NTFS volumes, file fragments larger than 64MB are not included in the fragmentation statistics

C:\Windows\system32>
misterr
źródło
1

To obliczenie jest ukryte, informacje są dostarczane przez Win32_DefragAnalysis klasa:

The Win32_DefragAnalysis klasa reprezentuje wartości fragmentacji w woluminie. Instancja klasy Win32_DefragAnalysis jest przekazywana jako parametr wyjściowy z metod Win32_Volume DefragAnalysis i Defrag.

class Win32_DefragAnalysis
{
  uint64 AverageFileSize;
  real64 AverageFragmentsPerFile;
  real64 AverageFreeSpacePerExtent;
  uint64 ClusterSize;
  uint64 ExcessFolderFragments;
  uint32 FilePercentFragmentation;
  uint64 FragmentedFolders;
  uint64 FreeSpace;
  uint32 FreeSpacePercent;
  uint32 FreeSpacePercentFragmentation;
  uint64 LargestFreeSpaceExtent;
  uint32 MFTPercentInUse;
  uint64 MFTRecordCount;
  uint64 PageFileSize;
  uint64 TotalExcessFragments;
  uint64 TotalFiles;
  uint64 TotalFolders;
  uint64 TotalFragmentedFiles;
  uint64 TotalFreeSpaceExtents;
  uint64 TotalMFTFragments;
  uint64 TotalPageFileFragments;
  uint32 TotalPercentFragmentation;
  uint64 TotalUnmoveableFiles;
  uint64 UsedSpace;
  string VolumeName;
  uint64 VolumeSize;
};
duDE
źródło
ta klasa nie jest portem żadnego systemu operacyjnego klienta.
magicandre1981
Naprawdę nie odpowiada na pytanie. Spodziewałbym się, że członek FilePercentFragmentation zostanie gdzieś udokumentowany, ale nic nie może znaleźć.
jpa