web-dev-qa-db-ja.com

Windowsはどのように断片化の割合を計算しますか?

実行時defrag -a -v C: Windows 2008 R2では、次の出力が得られました。

 Windowsディスクデフラグツール
 Copyright(c)2006 MicrosoftCorp。
 
ボリュームCの分析レポート:
 
ボリュームサイズ= 40.00 GB 
クラスターサイズ= 4 KB 
使用済みスペース= 13.94 GB 
空き容量= 26.06 GB 
空き容量の割合= 65%
 
ファイルの断片化
ファイルの断片化率= 19%
移動可能なファイルの総数= 73,181 
平均ファイルサイズ= 233 KB 
断片化されたファイルの総数= 1,574 
超過フラグメントの合計= 5,611 
ファイルあたりの平均フラグメント= 1.09 
移動できないファイルの合計= 21 

ファイルの断片化率の値は私には非常に奇妙に思えます。ファイル数から、1574個の断片化されたファイルはファイルの総数のわずか2%です。

Windowsはどのようにファイルの断片化率値を計算しますか?

4
jpa

のようだ:

ファイルの断片化の割合 = 空き領域の割合(最適化後)空きの割合スペース(最適化前)

つまり、完全な最適化を実行することによって追加された空き領域の割合。

ご覧のとおり、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>  

一方、ドライブを最適化した後、空き領域の割合が変化しない場合、またはファイルの断片化の割合が変化しない場合は、断片化されたファイルの総数数は変わります:

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>
1
misterr

この計算は非表示になり、情報は Win32_DefragAnalysis class:によって配信されます。

Win32_DefragAnalysisクラスは、ボリュームのフラグメンテーション値を表します。 Win32_DefragAnalysisクラスのインスタンスは、Win32_VolumeメソッドDefragAnalysisおよびDefragからoutパラメーターとして渡されます。

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;
};
1
duDE