查看 Windows 文件的属性,我得到两个属性“大小”和“磁盘上的大小”,并且“磁盘上的大小”总是较大。
这两个指标意味着什么?
答案1
大小是文件的实际大小(以字节为单位)。
磁盘占用大小是磁盘上实际占用的空间量。它们之所以不同,是因为磁盘被划分为磁道和扇区,并且可以分配离散大小的块。
有关更详细的解释,请参阅我从另一个网站复制的这段文字:
我们知道磁盘由磁道和扇区组成。在 Windows 中,这意味着操作系统以“簇”或“分配单元”为文件分配空间。
簇的大小可以变化,但典型范围是 512 字节到 32K 或更大。例如,在我的 C:\ 驱动器上,分配单元是 4096 字节。这意味着 Windows 将为长度为 1 到 4096 字节的任何文件或文件的一部分分配 4096 字节。
如果我有一个 17KB(千字节)的文件,那么磁盘上的大小将是 20.48 KB(或 20480 字节)。计算结果为 4096(1 个分配单元)x 5 = 20480 字节。需要 5 个分配单元来容纳 17KB 的文件。
另一个例子是,如果我有一个大小为 2000 字节的文件。磁盘上的文件大小为 4096 字节。原因是,即使整个文件可以放入一个分配单元内,它仍然占用磁盘上的 4096 个空间(一个分配单元)(只有一个文件可以使用一个分配单元,不能与其他文件共享)。
因此,磁盘上的大小是保存文件的所有扇区的空间。这意味着,通常情况下,磁盘上的大小总是大于实际大小。
因此,文件或文件夹的实际大小应始终取自尺寸查看属性窗口时的值。
答案2
它与磁盘首次格式化时使用的分配单元大小有关。
假设您的汽车中有两个 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
答案3
集群空闲空间
您无法单独访问存储介质上的每个字节。这样做效率极低,因为系统需要某种方式来跟踪哪些字节已使用,哪些字节空闲(即列表),因此单独对每个字节这样做会产生过多的开销(例如每个单个字节,即 1 对 1,该列表将与介质本身一样大!)
相反,媒介被分解成块、块、单元、组,无论你想叫它们什么(技术术语是簇),每个簇包含一致的字节数(通常可以指定簇的大小,因为不同的用途需要不同的大小以减少浪费)。
当文件保存到磁盘时,文件的大小会除以簇大小并四舍五入向上如果需要的话。这意味着,除非文件大小可以被簇大小整除,否则部分簇最终将未被使用,从而被浪费。
查看文件的属性时,您会看到文件的真实大小以及它在磁盘上占用的大小,其中包括任何“松弛”,即未使用的“簇尖”。这通常不多每个文件和磁盘大小通常几乎等于实际大小,但是当您将驱动器上数千个文件的浪费空间加起来时,它们会累积起来。因此,当您查看大型文件夹的大小时,尤其是包含许多小于群集的小文件的文件夹,磁盘上的大小(即标记为已使用的磁盘空间量)最终可能会比实际大小(即文件实际需要的空间量)大得多。
在上述情况下,您可以尝试减小簇大小,以便每个文件浪费更少的空间。通常,丢失大部分小文件的驱动器应使用尽可能最小的簇大小(以减少浪费),而丢失大部分大文件的驱动器应使用尽可能最大的簇大小(这样,簿记结构最终会变得更小)。
即使在较低级别,如果每个集群只是一个部门,除非文件大小正好是驱动器扇区大小的倍数(传统上通常为 512 字节,现在通常为 4,096高级格式如果您将一个扇区扩展到多个磁盘(例如,一个扇区超过一个磁盘),则文件末尾和扇区末尾之间仍然会有未使用的空间。
压缩
另一种情况是,你可能会看到实际文件大小与磁盘大小压缩。当驱动器被压缩时(例如,使用磁盘空间管理,NTFS 压缩等),那么实际文件的大小(需要知道)和文件在磁盘上占用(即使用或“占用”)的实际大小之间就会有差异。
快捷方式和硬链接
另一个可能导致差异的情况是硬链接. 对于支持硬链接的文件系统,当创建重复文件时,文件系统不会创建占用自身空间的全新文件,而是创建该文件的快捷方式,以便两个(或所有三个等)副本都指向磁盘上的同一个物理文件。因此,当有两个文件指向相同数据时,它们的大小相同,但占用的空间仅比存储单个副本的空间略大。
答案4
还有一种情况是,当您使用某种文件或文件夹时,“磁盘大小”属性可能与其“大小”属性不同......
RAID(独立磁盘冗余阵列)设置
在 RAID 中,存储系统由多个磁盘组成,原因有很多。RAID 有六个主要标准级别。使用 RAID 的原因之一是保护文件,这样即使驱动器发生故障,您存储在其中的文件也不会丢失。虽然 RAID 0 级别不会保存文件的多个副本,主要用于在驱动器之间分配文件内容以实现更高的读/写速度,但 RAID 1 及以上级别的设置会保存其文件:复制到该存储系统的任何文件在其每个驱动器中都会具有奇偶校验。
在 RAID 1 设置中,每个驱动器中都有一个镜像副本,因此,当您查看“磁盘大小”属性时,您会发现它更大,不仅是集群空闲空间,而且与要保留的文件副本数量成正比。更高的 RAID 级别使用不同的算法来提高效率。
我不确定我的组织使用什么 RAID 设置,或者每个设置有多少个专用驱动器,但是现在,我有一个 114 MiB 的文件夹,而其磁盘大小为 1.92 GiB。