碎片整理实际上起什么作用?

碎片整理实际上起什么作用?

碎片整理到底起什么作用?它会让按顺序执行的文件更紧密地靠在一起吗?

答案1

实际上,它将一个文件的所有不同部分放在一起,因此如果需要该特定文件,硬盘就不必移动其臂(这是真正的性能破坏者)来收集文件的所有位。 ==> 因此,性能更好(尽管并不总是引人注目)。

请注意,这仅适用于具有盘片和可移动部件的硬盘。对于 SSD 来说,这没有问题,因为无论数据位于磁盘的哪个位置,获取任何数据都需要相同的时间。对 SSD 进行碎片整理实际上是一个坏主意,因为它们在每个“扇区”(我不认为“扇区”在这里是正确的术语,但我希望你知道我的意思)上可以写入的次数是有限的。

答案2

这取决于碎片整理程序。

至少,它会将单个文件或目录的集群放入连续的序列中,前提是有可用空间来执行此操作。

如果它收集了文件和目录,它还可能根据使用情况对文件和目录进行排序。

它可能无法移动某些文件(通常是某些打开的文件和系统文件)。

进行碎片整理的原因是随机读取比从磁盘读取连续的块/簇序列要慢得多。但是,并非所有文件系统或操作系统对(单独的)碎片整理程序都有相同的要求。

答案3

碎片整理可以做两件事:

  • 确保文件的所有部分都位于硬盘的连续部分。大多数文件被分割成较小的“碎片”,这些碎片会粘在有空间的地方。起初它们会连续存储,但当文件被删除/修改时会产生间隙/不连续性。如果文件连续存储,则可以更快地读取它。
  • 优化硬盘上的位置(仅限旋转硬盘)。硬盘由旋转的磁盘状盘片组成。外部旋转得更快,因此当在这些盘片外部附近写入/读取时,硬盘的性能会更好,因为在给定的时间段内,更多的数据将通过读/写头。

另外,我想补充一些有关 SSD 碎片整理的内容:

对 SSD 进行碎片整理

很久以前,我曾承诺要发表一篇文章,解释为什么对 SSD 进行碎片整理仍然有意义且必要。的确,对于 SSD,没有必须旋转到位的物理盘片,也没有必须在磁盘表面上疯狂移动的读/写臂。因此,碎片整理似乎是在浪费时间。你也可以说,由于 SSD 最终会磨损,你不应该在像碎片整理磁盘这样简单的事情上浪费重写周期。

关于 SSD 中使用的 NAND 闪存技术的一个事实是,写入数据比读取数据花费的时间长得多。当文件被删除时,就像标准硬盘技术一样,只有目录信息被删除,数据单元被再次标记为“可用”。数据本身仍然完好无损,直到新内容覆盖它。

这意味着,如果内存空间正在用于“已删除”的文件,则必须先将其擦除,然后才能重新编程。如果可用空间碎片化,则必须将新文件拆分为几个小的写入命令,而不是一个较大的写入命令。这会导致 SSD 性能下降,因为写入速度很慢,尤其是对于小块写入传输。是的,缓存有助于掩盖这个性能问题,但无论采用何种技术,一个长写入命令总是比多个短写入命令更好。

Net,如果您想要获得最佳性能,请定期对磁盘进行碎片整理。

来源:盒子内部 联想博客

答案4

对驱动器进行碎片整理可以做几件不同的事情。通常,碎片整理过程会查找因某种原因被拆分成块的文件。很多情况下,这种情况发生在一段时间内对驱动器进行读写操作时。碎片整理程序会将所有碎片组合起来,然后在磁盘上找到一个可以容纳整个文件的位置。在某些情况下,它最终会变成一场骗局,将东西四处移动,为所有最大的文件腾出空间。

现在,关于将所有这些文件放在一起,需要说明的是磁盘上读/写头的典型“寻道”时间。每次您必须将读/写头移动到磁盘上的其他位置时,通常都会产生几毫秒的延迟。当读取一个位于一个位置的文件时,读/写头根本不需要移动很远就可以继续读取文件。这比完全移动到磁盘上的另一个位置要快得多。在某些情况下,可以通过将最常访问的系统文件放置在读/写头不执行任何读/写操作时的“着陆区”附近来优化操作系统。这在许多情况下可以大大加快速度。

我还没有看到过一个碎片整理工具能够统计某个文件被访问的次数,但如果有的话,它可以首先将最常访问的文件堆叠到磁盘上。

相关内容