Nie*_*sol 6 disk-space allocation-unit
由于我从事 Web 开发并且带宽始终是一个问题,因此我尽一切努力减少文件的大小,尤其是图像。因此,我至少有 10,000 个文件,大小都在 200 字节左右。
我的硬盘分配单元大小是 4 kB,这意味着我浪费了很多空间。特别是在备份方面,我希望避免浪费空间。
我想知道的是设置最小 AU 大小的缺点是什么。我主要关心的是,如果 AU 大小为 512 字节,8 GB 文件会发生什么情况?
小磁盘分配单元的缺点包括:
更大的分配表。
这是减少分配单元最明显的后果。对于给定大小的卷,将分配单元从 4KB 减少到 512 会导致分配表大 8 倍。请注意,文件系统可能具有分配表的重复或三份副本,以确保文件系统的完整性。
分配发生得更频繁。
由于每个单元分配的磁盘空间较少,因此在写入顺序文件(最常见的方法)时会产生更多的文件系统开销。为了分配集群,文件系统必须获取互斥锁以确保独占访问,修改分配表,释放互斥锁,然后将分配表从内存复制到磁盘。
卷大小的可能限制
今天对于 32 位和 64 位处理器可能不是问题。但回到 8 位和 16 位处理器和文件系统(如 FAT)的时代,分配单元的数量与分配大小相结合实际上对硬盘卷/分区的大小施加了真正的限制。一个明显的结果是 FAT32 文件系统增加了可能的分配单元的数量。
更多文件碎片
对于给定的文件大小,显然会有更多的分配单元分配给该文件。不能保证分配单元可以/将是连续的。对于读取 8MB 文件,4KB 集群的最坏情况将涉及 2048 次寻道加旋转延迟间隔,或按顺序对每个集群进行一次完整的磁盘访问。512B 集群的最坏情况将涉及 16,364 次搜索加上旋转延迟间隔!显然,这种(可能的)碎片会影响数据吞吐量。
随着磁盘驱动器变大,通常会增加分配大小以减轻这些缺点。原因是有更多的磁盘空间可供浪费,但这是循环逻辑。理想情况下,磁盘驱动器应该有多个分区,每个分区都格式化为“典型”文件大小的分配。例如,我将 C: 驱动器/分区保留为默认的 4KB 大小。但写入电视录像的分区有 64KB 簇,因为典型的一小时录像约为 6GB。
| 归档时间: |
|
| 查看次数: |
4195 次 |
| 最近记录: |