磁盘大小与磁盘大小有什么区别?


83

查看Windows文件的属性,我得到两个属性,“大小”和“磁盘大小”,“磁盘大小”始终较大。

这两个指标是什么意思?


1
我对此不是100%肯定,但我相信压缩文件也会对这些测量产生影响。
AdminAlive

2
“磁盘大小”并不总是较大。小文件直接存储在MFT上,磁盘上的大小为0。压缩文件在磁盘上的大小通常也较小。与稀疏文件相同
phuclv

Answers:


78

大小是文件的实际大小,以字节为单位。

磁盘大小是磁盘上实际占用的空间量。它们之所以不同,是因为磁盘分为磁道和扇区,并且可以分配离散大小的块。

编辑中

有关更详细的说明,请参阅从其他站点复制的以下文本:

我们知道磁盘是由轨道和扇区组成的。在Windows中,这意味着OS为“群集”或“分配单位”中的文件分配空间。

群集的大小可以变化,但是典型范围是从512字节到32K或更大。例如,在我的C:\驱动器上,分配单位为4096字节。这意味着Windows将为长度为1到4096字节的任何文件或文件的一部分分配4096字节。

如果我有一个17KB(千字节)的文件,那么磁盘上的大小将为20.48KB(或20480字节)。计算将为4096(1个分配单位)x 5 = 20480字节。一个17KB的文件需要5个分配单元。

另一个示例是,如果我有一个2000字节大小的文件。磁盘上的文件大小为4096字节。原因是,因为即使整个文件可以放在一个分配单元中,但它仍然占用磁盘上的4096个空间(一个分配单元)(只有一个文件可以使用分配单元,不能与其他文件共享)。

因此,磁盘上的大小是保存文件的所有那些扇区的空间。通常,这意味着磁盘上的大小总是大于实际大小。

因此,在查看属性窗口时,应始终从“ 大小”值中获取文件或文件夹的实际大小。

来源:Windows文件夹属性中的磁盘大小和磁盘大小之间有何区别


1
因此,当我想比较文件夹占用的空间与当前分区的总空间所占的百分比时,应该看“大小”还是“磁盘上的大小”?
Android开发人员

1
@androiddeveloper在磁盘上的大小为
Am1rr3zA 2014年

好的谢谢。不知道为什么他们在那里没有解释,或做出更好的描述。
Android开发人员

5
Synetech答案在下面添加了有关压缩和硬链接的重要(并且可能引起混淆)的要点,这两者都可能导致磁盘上的大小小于大小。
Owen Blacker

1
@baroquedub 两者之间可能会有巨大的差异(例如示例中的x1000系数)。这种差异可能会发生,尤其是在有很多小文件的情况下(基本上是因为文件在磁盘上被写为“块”,因此至少会占用一个块的整个大小。该块的实际大小取决于文件-系统,因此在不同的磁盘上占用的磁盘大小可能有所不同
Pacopaco

23

它与磁盘首次格式化时在磁盘上使用的分配单位大小有关。

想象一下,您的车上有两个2 x 10加仑的汽油罐。每个气体罐都是一个分配单元。您需要获得12加仑的汽油,因此您需要同时使用两个罐头。基本上使用20加仑分配的空间-但只能填充12加仑。

这是Windows XP的默认大小

 Drive size   
 (logical volume)             Cluster size          Sectors   
 ----------------------------------------------------------
 512 MB or less               512 bytes             1
 513 MB - 1,024 MB (1 GB)     1,024 bytes (1 KB)    2 
 1,025 MB - 2,048 MB (2 GB)   2,048 bytes (2 KB)    4
 2,049 MB and larger          4,096 bytes (4 KB)    8

如果您将集群的大小视为每个瓦斯罐,则:每个瓦斯罐容纳4KB。但是您的文件为2KB,则填充大小为2K,而磁盘上的大小为4KB


6
请允许我添加到您的答案中。根据磁盘的大小选择分配单位(存储桶)的大小。如果您使用水桶清空浴缸,则可以选择一个较小的水桶。如果要清空游泳池,则将使用更大的水桶。
莱斯

13

集群松弛空间

您不能分别访问存储介质上的每个字节。这样做的效率极低,因为系统需要某种方式来跟踪哪些已使用和哪些已空闲(即列表),因此,对于每个字节单独这样做会产生过多的监听(对于每个单独的字节,即一对一,列表将与媒介本身一样大!)

取而代之的是,将介质分为块,块,单元,组,无论您想称它们为什么(技术术语为clusters),每个介质都包含一个(一致的)字节数(您通常可以指定集群,因为不同的用途需要不同的大小以减少浪费)。

当一个文件被保存到磁盘,文件的大小是由他簇的大小划分,并四舍五入如果需要的话。这意味着除非文件大小可以被群集大小完全整除,否则某些群集最终将被闲置,从而造成浪费。

当您查看文件的属性时,您会看到文件的真实大小以及它在磁盘上占用的大小,其中包括任何未使用的“ 松弛 ”(即“群集提示”)。通常每个文件占用的空间并不多并且磁盘上大小通常几乎等于实际大小,但是当您从驱动器上的所有成千上万个文件中浪费掉的空间加起来时,它们就会累加起来。因此,当您查看一个大文件夹的大小时,尤其是其中一个小文件的大小小于群集的大小时,磁盘上的大小(即标记为已使用的磁盘空间量)最终可能会大大大于实际大小。大小(即文件实际需要的空间量)。

在上述情况下,您可以尝试减小群集大小,以使每个文件浪费更少的空间。通常,丢失少量文件的驱动器应使用尽可能小的群集大小(以减少浪费),而包含大量文件的驱动器应使用可能的最大群集大小(这样,簿记结构最终会更小)。

即使在较低的级别上,如果每个群集只是一个扇区,除非文件是驱动器上扇区大小的精确倍数(传统上通常为512字节,现在通常为4096个高级格式化磁盘),那么仍然会有是文件末尾和扇区末尾之间的未使用空间。

压缩

您可能会发现实际文件大小和磁盘大小之间存在差异的另一种情况是压缩。当驱动器被压缩时(例如,使用DriveSpaceNTFS压缩等),则实际文件的大小(需要知道)与文件占用的实际大小(即使用)之间将存在差异。或“占用”磁盘上。

快捷方式和硬链接

可能导致差异的另一种情况是硬链接。使用支持硬链接的文件系统,当创建重复文件时,文件系统会创建该文件的快捷方式,以便两者(或全部三个,等等),而不是创建一个新的文件来占用自身的空间。副本指向磁盘上的同一物理文件。因此,当有两个指向相同数据的文件时,它们各自具有相同的大小,但是仅比存储单个副本的空间多一点。


实际上,使用1B分配单位,该列表不一定会占用整个媒体。大小的八分之一。这是因为您只需要一点点就可以说一个块是已使用还是空闲。
flarn2006 '16

开销还包括指示多个分配单元属于同一文件的数据。如果您说每个字节都有另一个位指示数据是否溢出到下一个字节,则可以解决该问题,但是对于现代磁盘大小/性能而言太幼稚了,因为如果下一个字节不可用,那么硬盘驱动器的每个字节可能都需要感动。实际上,您需要更多开销才能指定下一个分配单位的偏移量或为每个分配单位分配排序的文件ID。
RetiredAssistant

4

另一种可能会显着减小“磁盘大小”值的情况是,文件实际上并未存储在磁盘上,但仍可以通过各种方式进行访问。

例如,OneDrive的“脱机文件”功能使用户可以通过互联网连接访问文件的方式进行存储。该文件仍然存在于磁盘上并具有一定的大小,但是由于在下载之前它不在磁盘上,因此不占用空间。

OneDrive文件夹的“属性”窗口。 文件夹的大小为171 GB,但磁盘上的大小为31.7 GB。

内部文件夹的示例...

具有已编辑名称的文件夹的“属性”窗口。 文件夹的大小为379 MB,但磁盘上的大小为0字节。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.