为什么NTFS压缩会占用大量空间?

And*_*eKR 9 windows ntfs

为了节省一些磁盘空间,我认为压缩我安装的 VMware vSphere Client 可能是个好主意,因为我几乎从不使用它。

我惊讶地发现它对可用磁盘空间产生了完全相反的影响。我进一步追踪它,发现它与压缩Help文件夹有关。磁盘空间的损失不会反映在文件夹大小中。

我重复了 3 次压缩/解压缩循环,以确保另一个程序不会偶然占用磁盘空间。值得注意的是,该文件夹包含大量小文件(?30k)。

为什么会这样,我能否以某种方式找到我应该解压缩以节省磁盘空间的其他文件夹?


无压缩:

未压缩的文件夹大小 没有压缩的自由空间

带压缩:

压缩后的文件夹大小 压缩的自由空间

小智 10

关于您提供的文件夹大小屏幕截图的一些背景知识:

未压缩

正如预期的那样,对于许多小文件,有很多开销。您的硬盘分区有特定的块大小 - NTFS 默认为 4KB。

每个文件必须分配 4KB 的倍数,这意味着无论您有 1KB 还是 3.5KB 的文件,都将占用 4KB 的空间。如果您有一个 13KB 的文件,它将在您的驱动器上使用 16KB。“Size”和“Size on disk”的区别在于块中未使用空间引入的开销,即所谓的簇提示

压缩的

压缩后“Size”还是一样的,净数据量完全没有变化。然而,压缩能够将总大小减少约 130MB。事实上更多,因为这里的开销也适用。所以压缩确实在该文件夹中节省了一些空间,这也显示在文件夹大小中。

现在关于您在驱动器 C 上看到的可用磁盘空间减少的行为:这可能有多种原因。需要理解的一件事是可用磁盘空间总是小于

<Disk size> - <total size of all files>

这是因为有很多元数据也会占用空间(VSS 快照、系统还原点、MFT 等)。

在压缩单个文件期间,NTFS 将暂时保留原始文件,直到压缩完成。这是为了确保在您的计算机崩溃的情况下,您仍然会保留文件的有效版本。然而,这应该只是暂时的。尽管如此,一切都指向 NTFS 元数据导致这种情况。

要更准确地验证结果,您可以执行以下操作:

  • 从一个未压缩的文件夹开始
  • 为每个卷禁用系统保护(计算机属性/系统保护)
  • 在同一对话框中删除每个卷的还原点
  • 使用卷 C: 属性中的“磁盘清理”删除临时文件
  • 注意可用磁盘空间
  • 压缩文件夹
  • 重启你的电脑
  • 再次使用磁盘清理
  • 检查磁盘上的可用空间

从理论上讲,您应该能够看到可用空间的增加