为什么尺寸不同?它们代表什么?

为什么尺寸不同?它们代表什么?

我有一块 1 TB 的硬盘,其中包含一个 NTFS 分区,我用它来备份我的数据(没有操作系统)。所有数据的大小其中有726 GB,磁盘大小:728 GB,以及已用空间当我检查属性时,它是 731 GB。大小和已用空间之间有 5 GB 的差异。

  • 为什么会有这么大的差异呢?
  • 这些尺寸之间有什么区别?(大小、磁盘大小和已用空间)
  • 有没有办法计算出差异,并确保硬盘没有混乱?
  • 这正常吗?

答案1

这是正常的。快速回答:

所有数据的大小:文件的实际字节数总和

磁盘大小:除了上述情况之外,文件使用的簇/分配单元也会浪费空间。磁盘总是被分成小块,通常是 1k 到 4k。因此,无论如何,0.1K 的小文件都会占用整个块。因此,每个文件的末尾总会有小的损失,因此会增加大小(尤其是有很多小文件时)。

已用空间:除上述内容外,文件系统占用的空间。包含分区表(文件位置字典)、日志/记录(用于防止在文件操作过程中发生崩溃时造成损坏,这是 NTFS 优于 FAT32 的一个显著特点)、文件夹、用户访问权限、创建/修改/访问日期等,这些也必须记录在某处。

答案2

这是正常的。格式化磁盘时,空间被划分为称为扇区的块。创建文件时,它会分配整个扇区,而不是文件大小的确切数量。根据文件与扇区的大小,您最终可能会使用大量额外空间。假设您的扇区大小为 512K(较旧的驱动器使用此大小),文件大小为 256k。创建文件时,它必须使用整个扇区,因此文件大小为 256k,使用的空间为 512k。差异是 256k,或者换句话说,您的利用率为 50%。所以你可以看到,这取决于你的扇区大小、文件大小、文件数量……你几乎永远不会得到文件大小与使用的磁盘空间的一致意见。

答案3

这没什么不对。正如所说,所有数据的大小是文件的实际字节总数,并且磁盘大小是实际消耗的尺寸。但下面会详细介绍

要将文件存储在分区上,您需要一些结构来指示文件的位置以及名称、日期、权限......这些被称为元数据并且需要卷上的空间,以便将它们计入已用空间在卷属性中看到的驱动器

现在推动工作代替字节。如果不读取包含该字节的整个块,就无法读取单个字节。文件系统可能会使用比物理驱动器块大小更大的块来减少记账所需的元数据大小并提高性能。如果文件大小不能被文件系统的块大小整除,则文件的最后一段将不会填满整个块。块中的剩余数据将被浪费,从而磁盘大小文件的比实际大小要大。但是磁盘上的大小也可以更小比文件的实际大小

  • 稀疏文件仅占用非零部分的磁盘空间,因此,如果一个 1GB 稀疏文件包含 1MB 非零数据,则其占用的磁盘空间约为 ~1MB
  • 压缩文件磁盘上的大小等于压缩后的大小
  • 常驻文件磁盘上的大小为零。这些文件是小文件,其数据可以放入磁盘上的可用空间中。元数据部分,这样它们就不会被计入磁盘大小

事实上,与 1000GB 相比,3GB 的元数据根本算不上什么。这仅占驱动器的约 0.3%。如果您的驱动器包含大量小文件,那么浪费的大小会大得多。例如,如果块大小为 16KB,那么如果您平均存储 8KB 的文件,您将浪费 50% 的磁盘空间。这就是为什么 exFAT 有时在磁盘上占用如此大的空间。请参阅相同的文件在新驱动器上具有不同的“磁盘大小”

ext4 也比默认设置的 NTFS 浪费更多空间。它们需要约 1/64(1.5625%)的分区空间用于元数据,5% 用于保留空间。这相当于 1TB 磁盘上的约 66GB。现在您知道这 3GB 有多小了吧?参见ext4 比 ntfs 贵吗?

也可以看看为什么对于同一组文件,“大小”不同,“磁盘大小”也会不同?

相关内容