分配单元尺寸较小的缺点

分配单元尺寸较小的缺点

由于我从事 Web 开发工作,带宽始终是个问题,因此我尽一切努力减小文件大小,尤其是图像。结果,我至少有 10,000 个文件,大小都在 200 字节左右。

我的硬盘分配单元大小为 4 kB,这意味着我浪费了很多空间。尤其是在备份时,我希望避免浪费空间。

我想知道的是设置最小 AU 大小有什么缺点。我主要担心的是,如果我有 512 字节的 AU 大小,8 GB 的文件会发生什么?

答案1

小型磁盘分配单元的缺点包括:

  • 更大的分配表。

    这是减少分配单元最明显的结果。对于给定大小的卷,将分配单元从 4KB 减少到 512 会导致分配表变大 8 倍。请注意,文件系统可能会有两份或三份分配表副本,以确保文件系统的完整性。

  • 分配发生得更频繁。

    由于每个单元分配的磁盘空间较少,因此在写入顺序文件(最常用的方法)时会产生更多的文件系统开销。为了分配一个簇,文件系统必须获取互斥锁以确保独占访问,修改分配表,释放互斥锁,然后将分配表从内存复制到磁盘。

  • 卷大小可能存在限制

    如今,对于 32 位和 64 位处理器来说,这可能不是问题。但在 8 位和 16 位处理器以及 FAT 等文件系统的时代,分配单元的数量与分配大小相结合实际上对硬盘卷/分区的大小施加了实际限制。一个明显的结果是 FAT32 文件系统增加了可能的分配单元数量。

  • 更多文件碎片

    对于给定的文件大小,显然会有更多的分配单元分配给该文件。无法保证分配单元可以/将是连续的。对于读取 8MB 文件,对于 4KB 簇,最坏情况将涉及 2048 个寻道加旋转延迟间隔,或按顺序对每个簇进行一次完整的磁盘访问。对于 512B 簇,最坏情况将涉及 16,364 个寻道加旋转延迟间隔!显然,这种(可能的)碎片会影响数据吞吐量。

随着磁盘驱动器变得越来越大,分配大小通常会增加以减轻这些缺点。原因是有更多磁盘空间可供浪费,但这是循环逻辑。理想情况下,磁盘驱动器应该有多个分区,每个分区都格式化为“典型”文件大小的分配。例如,我将 C: 驱动器/分区保留为默认的 4KB 大小。但是写入电视录制的分区有 64KB 簇,因为典型的一小时录制大约为 6GB。

相关内容