对于具有单个 NTFS 分区的驱动器,我应该使用什么“分配单元大小”?

对于具有单个 NTFS 分区的驱动器,我应该使用什么“分配单元大小”?

我正在将 1TB 的外部硬盘格式化为单个 NTFS 分区。该硬盘主要用于存储媒体。

我应该选择默认值以外的值吗allocation unit size?选项范围从 512 字节到 64K。对于存储其他数据的分区,是否有任何指导原则?我应该停止探索,直接保留“默认值”吗?

答案1

如果您是 Microsoft 定义的“标准用户”,则应保留默认的 4096 字节。基本上,分配单元大小是硬盘格式化 NTFS 时块的大小。如果您有很多小文件,那么最好将分配大小保持较小,这样您的硬盘空间就不会被浪费。如果您有很多大文件,则将其保持较高将通过减少要查找的块来提高系统性能。

但是,现在硬盘容量越来越大,选择正确的分配大小只会带来很小的差异。我建议你保留默认值。

还要记住,大多数文件都相对较小,较大的文件体积很大但单位较小。

答案2

在空间效率方面,分配单元大小越小,性能越好。每个文件浪费的平均空间将是所选 AUS 的一半。因此,4K 每个文件浪费 2K,64K 每个文件浪费 32K。然而,正如 Jonathon 指出的那样,现代驱动器非常庞大,浪费一点空间不值得大惊小怪,这不应该成为决定性因素(除非您使用的是小型 SSD)。

比较 4K 与 64K 的平均情况浪费(32K-2K = 30K),对于 10,000 个文件,仅为 300,000KB 或 300MB 左右。

相反,想想操作系统如何使用空间。假设您有一个 3K 文件,需要增加 2K。使用 4K AUS,数据需要分成两个块 - 它们可能不在一起,因此会产生碎片。使用 64K AUS,需要跟踪的块少得多,碎片也更少。16 倍的块大小意味着需要跟踪的块数是 1/16。

对于存储照片、音乐和视频的媒体磁盘(文件通常为 1MB 以上),我使用最大的 AUS。对于 Windows 启动分区,我使用Windows 默认(对于小于 16 TB 的任何 NTFS 驱动器,其大小为 4K)。

要了解现有磁盘上的簇大小:

fsutil fsinfo ntfsinfo X:

答案3

我正在 RAID 10 配置中设置四个 Seagate ST3000DM001 3TB 硬盘。在阅读了如何针对分配单元大小进行格式化后,我找到了这篇文章:提高操作系统性能的一般准则

在硬件驱动器控制器中配置驱动器阵列和逻辑驱动器时,确保控制器条带大小与卷将要格式化的分配单元大小相匹配.这将确保磁盘读写性能达到最佳,并提供更好的整体服务器性能。

我正在使用华硕 P8Z77-V DELUXE主板内置英特尔芯片组的 RAID 功能。由于主板上 RAID 10 的默认条带大小为 64KB,因此我使用 Windows 中的“64 千字节”选项格式化 RAID 阵列。

无论如何,我希望我找到的信息能够帮助其他研究这个主题的人并为其添加更多信息。

答案4

这会带来不同。

一个文件只能是你选择内容的倍数,因此更细粒度的格式意味着你将在文件上浪费更少的空间 - 但会使你的分配表更大。

如果您要存储数千个小于 64k 的文件,则值得考虑使用较小的单位大小。但是,如果您要用数百兆字节的巨量视频填充驱动器,则较大的单位大小更适用。

如果你不知道,就采用默认设置。

相关内容