磁盘空间不足会影响 SSD 性能吗?

磁盘空间不足会影响 SSD 性能吗?

我想知道 SSD 上的可用空间不足 5-10GB 是否会影响性能。这是 SSD 特有的现象,还是操作系统的问题?

例如,在具有 TRIM 支持的 Intel X-25 G2 上(在 Windows 7 上)。

答案1

大多数 SSD 写满后速度会变慢。SSD 倾向于选择空块进行写入,因为它们只能通过擦除和重写整个块来修改块。一旦所有这些块都被部分填满,则每个写入操作都需要擦除和重写,这意味着 SSD 必须将块读入缓存,使用新数据修改缓存,然后擦除块并写入缓存。对于每个需要修改的块,这需要一次读取和两次编程操作。此外,虽然碎片对 SSD 的影响很小,但高碎片率以及大多数操作系统不了解 SSD 的事实可能会导致操作系统发出比需要更多的写入。SSD 的块通常大于操作系统的分配单元,因此如果 SSD 没有预料到额外的写入,它最终可能会对每个块重复相同的三步过程多次,从而进一步减慢写入速度。即使删除文件也无法解决这个问题,因为数据仍留在那里,而 SSD 不知道它不再使用,并继续重写这些已删除的数据。

您的驱动器支持的 TRIM 操作允许操作系统告诉驱动器删除已删除的数据。这允许驱动器回收空块。但是,唯一支持 TRIM 的操作系统是 Windows 7、Windows Server 2008 R2 和使用内核 2.6.33 或更高版本的 Linux 发行版。

由于您使用的是 Windows 7,您的系统正在使用 TRIM 命令,并且能够回收未使用的块。但是,TRIM 不会重新排列数据,因此如果驱动器接近满,高碎片仍会导致数据部分占用块,并限制 TRIM 的有效性。据我所知,最好的办法是释放尽可能多的磁盘空间。如果您可以释放足够的空间,则可以修剪满块,您的驱动器将恢复一些速度。此外,还有一些针对 SSD 的碎片整理程序,这意味着它们只会进行足够的碎片整理以修剪一些额外的块,但我不知道有任何免费的碎片整理程序。我认为 Diskeeper 应该可以做到这一点,但它很贵,而且我听到的评价褒贬不一。

答案2

这篇优秀的文章在 AnandTech 上,他们探索了备用区域和 SSD 性能之间的关系。底线是,所有 SSD 在留出部分空间闲置时都会获得/保持性能。有时甚至 25% 的可用空间和 50% 的可用空间之间也会有差异。

答案3

这取决于特定的 SSD 型号、供应商和使用模式。

在某些情况下,频繁使用的 SSD 可能会显著降低性能,而不管使用的磁盘空间量有多少,都需要进行低级擦除才能恢复到全新的性能水平。

答案4

文件系统满了之后,通常会变慢。这是碎片化造成的。在空磁盘上,您可以确保在一个块中写入文件。随着文件系统越来越满,将文件放入单个连续块中的可能性就会降低,并且您必须进行越来越多的查找才能找到数据,将原本顺序访问的数据转换为更像随机访问的数据,因此速度会变慢。

相关内容