如何确定包含数百万个文件的磁盘的最佳块大小、扇区大小和簇大小?

如何确定包含数百万个文件的磁盘的最佳块大小、扇区大小和簇大小?

我的大磁盘上有数百万个文件。我想通过正确格式化驱动器来最大限度地减少平均浪费的空间。

有没有什么方法可以优化具有许多文件的预先存在的磁盘的 BlockSize、Sectorsize 和 cluster 大小?

我假设我需要分析我拥有的数据,将新磁盘格式化为规格,然后复制文件夹。

我还假设如果有一些大文件,这将对 $NTFS 内部跟踪元数据产生影响,从而增加它们的大小(因为大文件会消耗许多段)

答案1

您无法更改块大小;它取决于驱动器所呈现的大小(除非它是 4K 本机驱动器,否则为 512 字节,在这种情况下它是 4096 字节)。

扇区与块是同一个东西,只是名称不同。

簇是文件分配的粒度。NTFS 的默认值为 4096 字节。小文件将消失在 NTFS 文件记录中(始终为 1024 字节),因此对于它们来说,簇大小无关紧要。

大文件不一定会占用很多区域(如果它们是连续的),而且簇大小也不会对此产生很大影响。

您无法更改已格式化卷上的簇大小。您需要使用所需参数创建一个新卷,然后将数据复制到该卷。

假设您有 300 万个文件,由于默认簇大小,每个文件平均浪费 2048 字节。那么您浪费的空间总量为 6 GB。这占 1 TB 磁盘的 0.6%,占大磁盘的百分比更小。假设这是 2 TB 磁盘,花费 100 美元;那么所有文件的最后分配簇中浪费的空间总成本为 30 美分。如果很多文件完全存储在文件记录中,则成本会更低。

我们大多数人早就不再担心这个问题,只是让 NTFS 使用其默认值。此外,让簇大小与处理器的页面大小相匹配对于 Windows 的内存管理代码来说很方便。

相关内容