跳转到内容

磁盘碎片

本页使用了标题或全文手工转换
维基百科,自由的百科全书
档案碎片及碎片重组演示

计算领域,档案系统碎片(英语:File system fragmentation,或称磁碟碎片档案系统老化)是档案系统将档案内容非连续排列以方便就地修改其内容的结果,亦是碎片化的特例。磁碟碎片会增加磁碟磁头移动频率,即增加了寻道时间,会降低磁碟读写性能,进而影响操作系统软件性能。另外,档案系统不能承受无限制的碎片。对现有碎片的更正称为碎片重组,是将档案和可用空间重新组织为连续区域的过程。

固态磁碟(SSD)不是真正的磁碟,也不是“旋转的”,所以没有档案碎片问题。

原因[编辑]

分区首次初始化档案系统时,它只包含一些小的内部结构,其他区域则是一块连续的可用空间,[a]意味着档案系统能将新档案放在分区任何位置。在档案系统建立后的一段时间内,其档案布局近乎最佳,当安装操作系统软件或解包存档时,单独的档案按顺序生成,因此相关档案的位置接近。

删除或截断某档案可能会腾空区块;但加到档案的新内容可能会放在分开区块而非档案结束处,因为该处可能已分配给另一份档案,因此档案会有新片段。随着时间过去,相同因素使可用空间以及频繁附加的档案变碎。可用空间变短也意味档案系统不能再为新档案分配连续空间,而必须将它们拆碎。当储存空间变满且无大量连续的可用空间时尤其如此。

简单范例[编辑]

对自由空间碎片和档案碎片发生过程的简单示例

磁碟中5份档案甲、乙、丙、丁、戊按顺序连续储存,每份档案占10区,(例子中每区大小不重要)剩余区域即是可用空间,因此可在档案戊之后新增档案。

类型[编辑]

以下几个层次可能会出现档案系统碎片:

  • 各个档案中的碎片
  • 可用空间碎片
  • 在独立但相关档案间之访问局部性减少

档案碎片[编辑]

可用空间碎片[编辑]

档案分散[编辑]

档案分割,也称为相关档案碎片,或者应用程序级(档案)碎片,指缺乏引用的局部性(在存储介质中)在相关档案之间。

消极后果[编辑]

对于消费级硬盘驱动器而言,磁碟碎片是个很严重的问题。因为增大差距在顺序访问速度和旋转延迟英语rotational latency(以及较小程度上寻道时间)之间其上文件系统通常放置。[1]因此,碎片是在文件系统的研究与设计的一个重要问题。碎片的遏制不仅很大程度上依赖于文件系统在磁碟上的格式,还取决于它的实现。[2]相对于机械磁碟,文件系统碎片对固态硬盘造成的性能影响较小,因为不涉及机械寻道时间英语seek time[3]但是,文件系统还需要储存另一个元数据对于相对应的文件,每条元数据本身需要占用空间,并且需要处理动力和处理器时间。如果达到碎片的最大极限,将会导致写入请求失败。

在简单的文件系统基准测试中,往往省略了碎片因素,因为模拟现实的老化和碎片化是困难的。[4]

缓和[编辑]

防止碎片[编辑]

为了避免产生碎片,文件系统或操作系统会通过写入缓存区,将待写入的数据缓存在内存中,一段时间后才连续写入到磁碟中,避免直接写入大量小数据包的;又或者为一个文件对象分配一段连续的可用空间(如Extent技术)以方便连续写入。对于应用程序,如果在知道文件大小固定的情况下,也可以直接建立相应文件大小的空白文件作为预分配处理,虽然这不及由文件系统分配连续空闲空间直接和高效。

碎片重组[编辑]

碎片重组是减少档案碎片的过程,将档案片段集合连接起来。部份碎片整理软件会将经常按顺序读取的小文件放在一个目录中。

固态磁碟采用快闪记忆技术,没有移动部件,运作方式与传统硬碟不同,无须以重组碎片改善读取速度,但故障前写入次数有限,所以重组其档案碎片弊多于利(除了缓解灾难性故障)。

注释[编辑]

  1. ^ 一些文件系统,例如NTFSext2+,可能为了特殊目的预先分配空的连续区域。

参考文献[编辑]

  1. ^ Kryder, Mark H. Future Storage Technologies: A Look Beyond the Horizon (PDF). Storage Networking World conference. Seagate Technology. 2006-04-03. (原始内容 (PDF)存档于17 July 2006). 
  2. ^ McVoy, L. W.; Kleiman, S. R. Extent-like Performance from a UNIX File System (PostScript). Proceedings of USENIX winter '91. Dallas, Texas: Sun Microsystems, Inc.: 33–43. Winter 1991 [2006-12-14]. (原始内容存档于2007-02-21). 
  3. ^ Hanselman, Scott. The real and complete story - Does Windows defragment your SSD?. Scott Hanselman's blog. 3 December 2014. (原始内容存档于2014-12-22). 
  4. ^ Smith, Keith Arnold. Workload-Specific File System Benchmarks (PDF). Cambridge, Massachusetts: Harvard University. January 2001 [2006-12-14]. (原始内容 (PDF)存档于2004-11-17).