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

And*_*ton 81 ntfs

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

我应该选择默认值以外的东西allocation unit size吗?选项范围从 512 字节到 64K。我应该对存储其他数据的分区使用任何指导方针吗?我应该停止四处闲逛并将其保留为“默认”吗?

Jon*_*han 46

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

但同样,现在硬盘容量越来越高,通过选择正确的分配大小来产生微小的差异。我建议你保持默认。

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

  • +1,还有几个程序,如 scandisk 或 defrag 实用程序,在非标准集群大小方面存在问题。 (3认同)
  • 我最终选择了默认值(感谢 hyperslug 的建议)。我认为通过调整分配单元大小可能获得的任何微小的性能提升与 USB 传输速度相比都显得相形见绌。 (3认同)
  • 您的答案包含在一篇文章中:https://www.howtogeek.com/136078/what-should-i-set-the-allocation-unit-size-to-when-formatting/ (2认同)

And*_*rew 34

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

比较 4K 与 64K 的平均案例浪费(32K-2K = 30K),对于 10,000 个文件,只有 300,000KB 或大约 300MB。

而是考虑操作系统如何使用空间。假设您有一个需要增长 2K 的 3K 文件。使用 4K AUS,数据需要拆分为两个块 - 它们可能不在一起,因此会出现碎片。使用 64K AUS 可以跟踪更少的块和更少的碎片。16 倍的块大小意味着要跟踪的块数的 1/16。

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

要找出现有磁盘上的簇大小:

fsutil fsinfo ntfsinfo X:
Run Code Online (Sandbox Code Playgroud)

  • 小分配单元_并非没有缺点_,否则每个人都会简单地使用 1 字节簇来将浪费(“文件松弛”)减少到零!或者 1 个扇区的簇(以前是 512 字节;现在是 4096 字节)。缺点:_减半_集群大小意味着_两倍多_集群。在 FAT32 文件系统中,将 FAT 加倍可以轻松抵消减少的浪费。相反,NTFS 有一个分配“位图”(每个簇只有 1 位),文件的目录条目列出了它的簇(连续的簇作为范围紧凑列出)。更大的集群减少了文件碎片的可能性和成本。 (2认同)

小智 15

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

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

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

无论如何,我希望我找到的这些信息对其他研究该主题的人有所帮助,并为其添加更多信息。