# 硬盘簇大小

簇是硬盘上存储文件最小的单元。同一个文件,在设置了不同的簇大小的区上会有不同的占用空间。

比如,同一个小文件,在簇大小为 256K 和 4K 的区上的区别,如图所示:

也就是说,如果小文件很多的话,即使空间不满足最小簇大小,也会占用那么多的空间。这就导致小文件多的话,簇大小设置的不合理导致占用硬盘的容量会非常大,造成空间的浪费。

image-20220430160218462

image-20220430160231595

# 簇大小是否对硬盘读写速度有太大影响?

如图所示,使用测试工具分别在 4K 和 256K 的硬盘上读写,发现读写速度并没有相差太多。

4K:

image-20220430160540739

256K:

image-20220430160533733

# 簇大小和 4K 对齐的关系?

4K 对齐指的是扇区大小的对齐,和使用簇大小 4K 没有关系。

如图,F 盘的簇大小为 256KB,G 盘的簇大小为 512B,两则均为 4K 对齐的。

image-20220430161027189

# (X)簇大小越大,初始已用空间越小;簇大小越小,初始已用空间越大。

簇大小为 512B 时,初始占用空间。

image-20220430161455589

簇大小为 4K 时,初始空间:

image-20220430161546196

簇大小为 32768 KB,占用空间

image-20220430161734524

分析:

空区也会有隐藏的默认目录,存储系统卷信息

image-20220430162307720

image-20220430162320778

# 簇大小设置的太小会导致拷贝小文件的时候特别慢!!!

在 256K 的分区上拷贝小文件:

image-20220430162918875

在 512B 分区上拷贝小文件:

image-20220430163738941

删除文件的时候也会特别慢:

256K 上删除小文件:

image-20220430163028779

512B 上删除小文件:

image-20220430162954658

建议分区的簇大小:

# NTFS 的默认簇大小

下表描述为 NTFS 默认的簇大小。

卷大小 Windows NT 3.51 Windows NT 4.0 Windows 7 ,Windows Server 2008 R2,Windows Server 2008,Windows Vista ,Windows Server 2003 ,Windows XP 和 Windows 2000
7 MB – 512 MB 512 字节 4 KB 4 KB
512 MB – 1 GB 1 KB 4 KB 4 KB
1GB–2GB 2 KB 4 KB 4 KB
2 GB–2 TB 4 KB 4 KB 4 KB
2 TB – 16 TB 不支持 * 不支持 * 4 KB
时为 16 TB 到 32 TB 不支持 * 不支持 * 8 KB
32 TB – 64 TB 不支持 * 不支持 * 16 KB
64 TB – 128 TB 不支持 * 不支持 * 32 KB
128 TB-256TB 不支持 * 不支持 * 64 KB
256TB > 不受支持 不受支持 不受支持

# FAT32 的默认簇大小

下表描述为 FAT32 的默认群集大小。

卷大小 Windows NT 3.51 Windows NT 4.0 Windows 7 ,Windows Server 2008 R2,Windows Server 2008,Windows Vista ,Windows Server 2003 ,Windows XP 和 Windows 2000
7 MB – 16 MB 不受支持 不受支持 不受支持
16 MB – 32 MB 512 字节 512 字节 不受支持
32 MB – 64 MB 512 字节 512 字节 512 字节
64 MB – 128 MB 1 KB 1 KB 1 KB
128 MB-256 MB 2 KB 2 KB 2 KB
256 MB – 8 GB 4 KB 4 KB 4 KB
8GB–16GB 8 KB 8 KB 8 KB
16GB–32GB 16 KB 16 KB 16 KB
32GB–2TB 32 KB 不受支持 不受支持
> 2TB 不受支持 不受支持 不受支持

# ExFAT 的默认簇大小

下表描述了 exFAT 的默认群集大小。

卷大小 Windows 7,Windows Server 2008 R2,Windows Server 2008,Windows Vista 和 Windows Server 2003,Windows XP
7 MB-256 MB 4 KB
256 MB-32 GB 32 KB
32 GB-256TB 128KB
256TB > 不受支持

# 128KB 和 256KB 簇大小,文件多时的对比

可以看到,簇大小虽然只差 128KB,但是文件多的话,占用空间却整整相差了 31GB!想想看我们的硬盘总容量才多少。

image-20220430173411772

# 总结

簇大小设小了是可以节约空间,同时你的 U 盘掉速会很严重。(实验证明了确实是这样)

参考资料:https://www.v2ex.com/t/767872 (opens new window)

文件系统为文件分配磁盘空间是以簇为单位的。簇的尺寸大大或者太小都不合适。请问,簇的尺寸太大会有什么缺点?簇的尺寸太小会有什么缺点?

答案:大的簇尺寸意味着小文件也要占用很大的空间,造成磁盘空间的浪费。小的尺寸表示大的文件需要跨越多个簇进行存取,因此需要多次寻道与旋转延迟才能请出所需要的数据,延长了访问的时间。

参考资料:https://wangxiao.xisaiwang.com/tiku2/11202820.html (opens new window)

参考资料:

对于 NTFS、 FAT 和 exFAT 的默认簇大小 (opens new window)