碎片整理实际上是做什么的?


13

碎片整理实际上是做什么的?它将按顺序执行的文件放在一起吗?

Answers:


19

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

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


3
固态盘不仅不成问题,而且由于其限制,对它们进行碎片整理实际上不是一个好主意。
杰夫·耶茨

确实,我会更新我的答案。
fretje

13

这取决于碎片整理程序。

至少要有一个空间来将单个文件或目录的群集放在连续的序列中。

如果它收集文件和目录,它也可以根据使用情况配置文件对它们进行排序。

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

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


碎片整理通常还会将磁盘上的可用空间分组为尽可能大的块。这有助于防止新创建的文件首先被碎片化,并可以更快地将它们写出。
大卫·史瓦兹

3

碎片整理可以做两件事:

  • 确保文件的所有部分都位于硬盘驱动器的连续部分中。大多数文件被拆分为较小的“碎片”,这些碎片被卡在有空间的任何地方。首先,它们将被连续存储,但是当删除/修改文件时,将创建间隙/不连续性。如果文件被连续存储,则可以更快地读取文件。
  • 优化硬盘驱动器上的位置(仅旋转硬盘驱动器。)硬盘驱动器由旋转的磁盘形磁盘组成。外部旋转速度更快,因此在这些磁盘的外部附近进行写入/读取时,硬盘驱动器的性能会更好,因为在给定的时间段内,更多数据将在读取/写入磁头下方传递。

另外,我想添加一些有关对SSD进行碎片整理的内容:

整理SSD碎片

很久以前,我曾答应发布关于为何对SSD进行碎片整理仍然很重要和必要的信息。的确,有了SSD,没有物理盘可以旋转到位,也没有读/写臂可以在磁盘表面上随意移动。因此,进行碎片整理似乎是浪费时间。您还可能会争辩说,由于SSD最终会耗尽,因此您不应该在重写磁盘碎片等简单的事情上浪费重写周期。

关于SSD中使用的NAND闪存技术的事实之一是,写入数据要比读取数据花费更长的时间。当删除文件时,就像标准硬盘技术一样,仅删除目录信息,并且数据单元再次标记为“可用”。数据本身仍然是完整的,直到有新的东西覆盖它为止。

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

网络,如果要获得最佳性能,请定期整理磁盘碎片。

资料来源:Inside Box联想博客


3
您引用的这个人是错误的。SSD在内部将对不同逻辑块的多次写入合并为一个闪存写入。像读取一样,随机写入与在SSD上的顺序写入一样快。
psusi 2011年

4
您也无法控制其中的数据被放置在最固态硬盘,由于损耗均衡算法。尽管可以通过使用特殊软件来克服这些算法,但是大多数“现成”软件都无法解决。
突破

您可以通过多次读取所有数据来实现此人描述的目的。这将使SSD本身可以确定是否应移动它们的文件。SpinRite 6可以使用诸如以正确设置运行的工具来完成此任务。
Ramhound

1

硬件

就像其他人提到的那样,它可以确保文件以连续编号的分配单元存储。

在诸如硬盘驱动器之类的旋转媒体上,这可以更快地访问数据,因为盘片不必旋转得更多,磁头也不必来回摆动。在SSD上,这没有性能优势。

数据恢复

关于碎片整理的值得注意的一件事是,通过将文件放置在连续的分配单元中,数据恢复变得更加容易并且更有可能成功。当您不小心删除文件,驱动器崩溃或被病毒击中时,碎片文件成功的可能性将大大降低。

这是因为,如果将文件拆分为多个碎片,并散布在整个驱动器上,那么很难(通常是不可能)确定哪些部分位于何处以及属于哪些文件。对于包含更多文件的较大驱动器,这甚至会带来更多问题。要成功恢复碎片文件,您需要知道文件的每个部分在哪里以及它们的顺序,但是如果您有,那就不需要恢复它了。

如果文件没有碎片,那么您要做的就是找到文件的开头并知道大小,或者知道如何检测结尾(例如,通过了解文件的格式或检测何时有新文件)开始)。

帮助数据恢复的一种方法是使用容错能力更强的文件系统,并包含更好的备份和恢复功能,例如FAT32上的NTFS。不幸的是,没有一个文件系统是完美的,即使是最好的文件系统也仍然会遭受数据丢失的影响,并需要不时地恢复数据。

推荐建议

使用硬盘驱动器时,确保对磁盘进行碎片整理(例如,安排磁盘在系统空闲时自动进行碎片整理(清理工作变得越来越少))有助于提高恢复丢失文件的机会。由于SSD不适合进行碎片整理,因此您需要权衡碎片整理的风险和好处,并且要磨损驱动器,进行定期备份或将关键数据存储在硬盘驱动器上。


0

对驱动器进行碎片整理可以完成许多不同的事情。通常,碎片整理过程会查找由于各种原因而被分成几块的文件。在许多情况下,这是随着时间的推移对驱动器进行读写而发生的。碎片整理程序将所有片段组装在一起,然后在磁盘上找到适合整个文件的位置。在某些情况下,它最终只是一个外壳游戏,可以移动所有最大文件的位置。

现在关于将所有这些文件放在一起的说法涉及磁盘上读/写磁头的典型“搜索”时间。每次必须将读/写磁头移动到磁盘上的其他位置时,通常会导致数毫秒的延迟。读取全部位于一个位置的文件时,读/写头根本不必移动很远就可以继续读取文件。这比完全转到磁盘上的另一个位置要快得多。在某些情况下,可以通过在不执行任何读/写操作时将最常访问的系统文件放置在读/右磁头的“着陆区”附近来进行碎片整理,以优化操作系统。在许多情况下,这可以使速度大大提高。

我还没有看到一个碎片整理工具,它可以保持有关文件访问次数的统计信息,但是如果存在,它可以首先将磁盘与最常访问的文件堆叠在一起。


0

你的文件系统有时会放部分的文件在磁盘上的不同位置。以后访问此文件时,它需要花费更长的时间,因为它必须转到每个位置来访问文件。这称为碎片。基本上,磁盘上不同位置都有文件片段。

对磁盘进行碎片整理时,将重新排列磁盘上的文件,以便尽可能多地存储整个文件。


0

它取决于文件系统,碎片整理程序和HDD / SSD。

大多数文件将合并为一个块。这是“碎片整理程序”的最低要求和定义。

更高级的碎片整理程序将首先移动目录(因为按平均每兆字节,它们的访问比普通文件更频繁),然后是最近访问的文件。长时间(通常为90天)未访问的文件有时会主动放置在末尾,以缩短对确实可以访问的文件的查找。

NTF似乎仅比FAT碎片少一些,但如果分解的话,其降解速度会更慢。一些重要文件不在分区的前端,而是在分区的中间,显然可以将最坏情况下的访问时间减少一半。不过不确定。

SSD上的“搜索”时间极短,约为微秒。如果对SSD进行碎片整理,则会发现错误的位置。(智能SSD控制器每次检测到“读取旧数据+相同数据+ TRIM旧数据”模式时,都只能在移动数据的位置更新数据,而不是在移动数据的位置更新数据,从而节省了写周期和碎片整理运行时间。不确定(如果有的话)。

再次考虑,是的,SSD故意在芯片之间分配写操作,因为这是它们的更快方式,而严重的碎片化可能会通过使写操作较少而分散,从而减慢写模式。这可能是要考虑的因素。

始终定期执行备份。如果对磁盘进行碎片整理以简化数据恢复,那您就做错了!

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.