在 Windows 2008 R2 上运行时defrag -a -v C:
,我得到以下输出:
Windows 磁盘碎片整理程序 版权所有 (c) 2006 Microsoft Corp. 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 如何计算文件碎片百分比价值?
答案1
看起来:
文件碎片百分比=可用空间百分比 (碎片整理后)-可用空间百分比 (碎片整理之前)
换句话说,通过执行完全碎片整理所增加的可用空间百分比。
如您所见,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>
答案2
这个计算是隐藏的,信息由Win32_Defrag分析班级:
这Win32_Defrag分析类表示卷上的碎片值。Win32_DefragAnalysis 类的实例作为输出参数从 Win32_Volume 方法 DefragAnalysis 和 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;
};