admin管理员组

文章数量:1536471

2024年3月22日发(作者:)

磁盘碎片产生过程探密

一、什么是磁盘碎片?

其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在

磁盘连续的簇中形成的。我们把这些没有连续放在一起的文件称为磁盘碎片(文件碎片)。“碎片”是一

种较抽象的比喻了。

二、磁盘碎片对系统的影响

按微软官方文档:卷中的碎片越多,计算机的文件输入/输出系统性能就越低。我们也可理解为:过多

的磁盘碎片,造成磁头不断地在不同的地方搜索和读取隶属一个文件的数据,由此降低了系统运行的效

率和速度。长此以往,也会降低硬盘的使用寿命。

系统的运行实际上是系统对磁盘上文件的读写操作,我们来了解一下程序运行时磁盘的读写动作。一般运

行一个程序时,磁盘驱动器的磁头所做的工作是先搜索该程序运行必需的文件,然后读取数据,最后做读

后处理——将数据传送至磁盘高速缓存(Cache)和内存中。搜索时间在硬盘性能指标中被称为平均寻道时间

(Average seek time),单位为毫秒(ms)。如果能将应用程序的相关文件放在磁盘的连续空间内,磁头搜索

的时间将会减少很多。读取时也是如此,磁盘读取位于磁头下方扇区的数据所需时间仅为将磁头移到另一

地点再读取相同数据所需时间的五分之一。读盘时,系统先检查数据是否在高速缓存中,如果有则直接读

取;如果没有则访问磁盘,也就是读盘。当需要多次读取同一份数据时,Cache的作用很大,但对于第一

次读取某个文件,Cache就无能为力了。于是搜索时间和读取时间在很大程度上影响着程序执行的效率。 如

图所示

文件1: 文件2:

1、文件1和文件2的无碎片存放:各占5个簇的空间,而且是连续存放

2、文件1和文件2的碎片存放:各占5个簇的空间,而且不是连续存放

从上图可以看出,第1种情况下程序对磁盘的读写操作比第2种情况要简单些,因为它是连续的,实

事上第2种情况在实际环境中要比这复杂的多,我们可以把它放大100倍后,可以想像对系统读写磁盘

的影响有多大了。

三、磁盘碎片是怎么产生的?

有人肯定要问了,WINDWOS怎么不把文件都连续存放了呢,实事上最开始是存续存放的,但随着长时间

的使用,情况就发生了变化:

1、在磁盘分区中,文件会被分散保存到磁盘的不同地方,而不是连续地保存在磁盘连续的簇中。又因为

在文件操作过程中,Windows系统可能会调用虚拟内存来同步管理程序,这样就会导致各个程序对硬盘频

繁读写,从而产生磁盘碎片。

2、还有一种情况就是当中间的一个扇区内容被删除后,新写入一个较小的文件,这样在这个文件两边就

会出现一些空间,这时候再写入一个文件,两段空间的任意一部分都不能容纳该文件,这时候就需要将文

件分割成两个部分,碎片再次产生了。

频繁的保存文件和删除文件导致碎片越来越多,如下图所示:

文件1: 文件2: 文件3: 空区:

最开始有文件1、文件2、文件3三个文件连续放在一起的,现在要删除文件1,存入文件4(占三个簇)

文件4:

因为文件1占用两个簇的空间,删除后空闲2个,而文件4占有3个,多的一个簇就放在文件3的后面去

了,整个文件就被放在不连续的区域了,碎片也就生产了。当这种情况越来越糟糕时,系统在运行时,对

文件的读写操作就会越来越慢了。

最常见的就是下载电影之类的大文件,这期间大家一半都会处理一下其它事情,而下载下来的电影文件被

迫分割成若干个碎片存储于硬盘中。因此下载是产生碎片的一个重要源头。还有就是经常删除、添加文件,

这时候如果文件空间不够大,就会产生大量的磁盘碎片,随着文件的删改频繁,这种情况会日益严重。

虽然说磁盘碎片对于正常工作影响并不大,但是会显著降低硬盘的运行速度,这主要是硬盘读取文件需要

在多个碎片之间跳转,增加了等待盘片旋转到指定扇区的潜伏期和磁头切换磁道所需的寻道时间。

四、对磁盘碎片的整理

从上面分析来看,磁盘在使用长时间后,碎片会越来越多,大大影响系统的运行速度。所以对磁盘的整理

就显得尤为重要了。

1、整理前的准备

我们在整理硬盘前一般都要对它清理垃圾信息,检查有无错误,最后才能谈到碎片的整理和优化。因此,

我们在整理硬盘前,应该首先做好这些工作:

①、应该把硬盘中的垃圾文件和垃圾信息清理干净。系统工作一段时间后,垃圾文件就会非常之多,有程

序安装时产生的临时文件、上网时留下的缓冲文件、删除软件时剩下的DLL文件或强行关机时产生的错误

文件等,建议还是先使用微软的“磁盘清理程序”清理。

②、检查并修复硬盘中的错误。首选的仍然是微软的“磁盘扫描程序”,虽然它的速度实在不怎么样,但只

要你有足够的耐心,经过这个程序对磁盘完整而详细的扫描后,相信系统中的绝大多数错误已经被修复了。

③、在整理磁盘碎片前应该先对驱动器进行“磁盘错误扫描”,这样可以防止系统将某些文件误认作逻辑错

误而造成文件丢失。具体操作是(以Windows XP为例):在“我的电脑”中选择要整理的驱动器,单击

鼠标右键,在弹出的菜单中选择“属性”,进入“工具”选项卡,点击“查错”栏中的“开始查错”按钮,

然后按提示操作即可。

2、整理方法及注意

在Windows里,用户可以从“开始”菜单中选择“程序/附件/系统工具/磁盘碎片整理程序”,弹出选择驱

动器窗口,选择要整理的分区,然后点击[确定]即可开始整理,但此方法碎片整理过程非常耗时,磁盘碎片

整理可以提高文件的读写速度,可是盲目地进行整理,却有可能发生一些不必要的危险,这就要求我们注

意以下事项:

①、整理磁盘碎片的时候,要关闭其他所有的应用程序,包括屏幕保护程序,最好将虚拟内存的大小设置

为固定值。不要对磁盘进行读写操作,一旦Disk Defragment发现磁盘的文件有改变,它将重新开始整理。

②、不宜频繁整理

磁盘碎片整理不同于别的电脑操作,硬盘会高速连续旋转,如果频繁进行磁盘碎片,可能导致硬盘寿命下

降,建议一个月左右整理一次,或者先进行磁盘分析,系统会提示是否需要整理。

③、双系统下不要交叉整理

很多朋友都安装有Windows 98和Windows XP双操作系统,但是由于系统兼容性等原因,交叉进行磁盘

碎片整理可能会造成文件易位、混乱甚至系统崩溃,所以建议朋友们在Windows 98中整理Windows 98

分区,在Windows XP中整理Windows XP分区。

本文标签: 文件磁盘整理碎片系统