注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

海天一

海纳百川,有容乃大.

 
 
 

日志

 
 

从九大方面窥视磁盘碎片整理   

2006-12-08 11:29:21|  分类: 电脑知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1、什么是磁盘碎片?

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

  当应用程序所需的物理内存不足时,一般操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎片的主要原因。

  其他如IE浏览器浏览信息时生成的临时文件或临时文件目录的设置也会造成系统中形成大量的碎片。文件碎片一般不会在系统中引起问题,但文件碎片过多会使系统在读文件的时候来回寻找,引起系统性能下降,严重的还要缩短硬盘寿命。另外,过多的磁盘碎片还有可能导致存储文件的丢失。

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

  在磁盘分区中,文件会被分散保存到磁盘的不同地方,而不是连续地保存在磁盘连续的簇中。又因为在文件操作过程中,Windows系统可能会调用虚拟内存来同步管理程序,这样就会导致各个程序对硬盘频繁读写,从而产生磁盘碎片。

  3、磁盘读写操作的原理

  知道了磁盘碎片的产生原因之后,我们还有必要了解一下程序运行时磁盘的读写动作。一般运行一个程序时,磁盘驱动器的磁头所做的工作是先搜索该程序运行必需的文件,然后读取数据,最后做读后处理——将数据传送至磁盘高速缓存(Cache)和内存中。搜索时间在硬盘性能指标中被称为平均寻道时间(Average seek time),单位为毫秒(ms),目前主流硬盘的平均寻道时间小于9.5ms。如果能将应用程序的相关文件放在磁盘的连续空间内,磁头搜索的时间将会减少很多。读取时也是如此,磁盘读取位于磁头下方扇区的数据所需时间仅为将磁头移到另一地点再读取相同数据所需时间的五分之一。读盘时,系统先检查数据是否在高速缓存中,如果有则直接读取;如果没有则访问磁盘,也就是读盘。当需要多次读取同一份数据时,Cache的作用很大,但对于第一次读取某个文件,Cache就无能为力了。于是搜索时间和读取时间在很大程度上影响着程序执行的效率。

  为何要整理磁盘 Windows系统并不能自动将每个文件按照最大程度减少磁头搜索时间的原则放到磁盘上最合适的位置。于是Microsoft在Windows中加入了“Disk Defragment”(磁盘碎片整理程序),并提供了“TaskMonitor”(任务监视器)来跟踪程序启动过程中的磁盘活动,以利于“Disk Defragment”能够更有效地工作。“TaskMonitor”是随Windows启动而自动运行的(当然要在“启动”中选中“TaskMonitor”)。当加载某个应用程序时,它通过监视磁盘的访问动作来了解该程序启动时搜索和调用的文件,对所需文件进行定位,并将监视结果储存在“C: Windows Applog”隐藏目录中。这个目录中的大多数文件以“.lgx”为扩展名,其中“lg”代表记录文件(Log File),“x”表示盘符,如D盘程序就以“.lgd”为扩展名;记录文件的文件名为TaskMonitor所监视的应用程序的文件名,如E盘上的WinZip程序记为“Winzip32.lge”。用户进行磁盘碎片整理时,该程序会根据Applog目录中的信息把应用程序的相关文件移动到磁盘上的连续空间内。

  TaskMonitor仅在程序加载过程中对文件信息进行搜索,并且根据程序的加载频率调整优化的顺序,也就是说使用次数最多的软件可获得最多的关照。Applog目录中的APPLOG.ind文件就记录了应用程序运行的次数。用户需要将常用软件多次启动,接受TaskMonitor的监视和记录,再使用Disk Defragment进行整理,才能真正实现程序启动速度的提高。但如果用户中途改变了常用软件,比如以前常用WinZip,现在改用ZipMagic,那么在相当长的时间内Disk Defragment还是先把与WinZip相关的文件移到连续的空间内,而不是ZipMagic,除非ZipMagic的加载次数超过WinZip。要解决这个问题,用户可将“Winzip32.lgx”文件删除,记录文件不存在了,Disk Defragment也就不会去优化它了。

  4、该不该定期整理硬盘?

  实际上,定期整理硬盘应该是毫无疑问的。如果说硬盘碎片整理真的会损害硬盘的话,那也将是在对硬盘进行近乎天文数字般次数的整理之后。

  硬盘使用的时间长了,文件的存放位置就会变得支离破碎——文件内容将会散布在硬盘的不同位置上。这些“碎片文件”的存在会降低硬盘的工作效率,还会增加数据丢失和数据损坏的可能性。碎片整理程序把这些碎片收集在一起,并把它们作为一个连续的整体存放在硬盘上。Windows自带有这样的程序:磁盘碎片整理程序(DiskDefragmenter),但在工具软件NortonUtilities和Nuts&Bolts中有更好的此类程序。

  然而,碎片整理对硬盘里的运转部件来说的确是一项不小的工作。如果硬盘已经到了它生命的最后阶段,碎片整理的确有可能是一种自杀行为。但在这种情况下,即使您不进行碎片整理,硬盘也会很快崩溃的。

  实际上在大多数情况下,定期的硬盘碎片整理减少了硬盘的磨损。不管怎么说,让硬盘的磁头从1处读取文件总比从8处读取要容易得多。因此,一个每两周或四周整理一次的硬盘的寿命应当比一个永远不整理的硬盘长。

  5、整理前的准备工作

  我们在整理硬盘前一般都要对它清理垃圾信息,检查有无错误,最后才能谈到碎片的整理和优化。因此,我们在整理硬盘前,应该首先做好这些工作:

  
  (1)、应该把硬盘中的垃圾文件和垃圾信息清理干净。系统工作一段时间后,垃圾文件就会非常之多,有程序安装时产生的临时文件、上网时留下的缓冲文件、删除软件时剩下的DLL文件或强行关机时产生的错误文件等,建议“菜鸟”朋友还是使用微软的“磁盘清理程序”代劳,“老鸟”当然可以使用一些功能更强的软件或手工清理。

 (2)、检查并修复硬盘中的错误。首选的仍然是微软的“磁盘扫描程序”,虽然它的速度实在不怎么样,但只要你有足够的耐心,经过这个程序对磁盘完整而详细的扫描后,相信系统中的绝大多数错误已经被修复了。当然你也可以尝试一下其他工具,如扁鹊神医“Norton WinDoctor”,它的速度可比Windows中的“磁盘扫描工具”快多了。

  6、整理方法及注意

  在Windows里,用户可以从“开始”菜单中选择“程序/附件/系统工具/磁盘碎片整理程序”,弹出选择驱动器窗口,选择要整理的分区,然后点击[确定]即可开始整理,但此方法碎片整理过程非常耗时,一般2GB左右的分区需要1个小时以上,所以建议读者:

  (1)、整理磁盘碎片的时候,要关闭其他所有的应用程序,包括屏幕保护程序,最好将虚拟内存的大小设置为固定值。不要对磁盘进行读写操作,一旦Disk Defragment发现磁盘的文件有改变,它将重新开始整理。

  (2)、整理磁盘碎片的频率要控制合适,过于频繁的整理也会缩短磁盘的寿命。一般经常读写的磁盘分区一周整理一次。

  7、磁盘扫描程序的命令参数

  命令参数在 DOS时代可以说是一项基本的技能,很多程序都要靠命令参数来启动,而到了图形化界面时代,已很难再见到其踪迹,但它却实实在在地存在着,而且发挥着不小的作用。如很多 Windows游戏的设置程序就是用 /Setup 参数来实现的。通常我们不会太留意某些程序的命令参数,但他们往往包含着某些隐秘的功能,如果运用适当对你很有帮助。

  Windows 中的磁盘扫描程序就包含着许多命令参数,你可以在MS_DOS方式下或在“运行”对话框中实现,如果需要经常用命令参数,还可以建立一个快捷方式。

  /SILENT 启动磁盘扫描程序不允许作任何选项设置和高级设置。

  /A 检查所有的本地硬盘

  /N 自动启动和退出磁盘扫描程序

  /P 防止磁盘扫描程序修复所发现的错误

  X: X 表示指定要检查的驱动器号(不需要 / 的命令参数)

  举例:

  1)检查驱动器 E 并自动启动和退出磁盘扫描程序

  SCANDSKW E: /N

  2)检查所有的硬盘并防止磁盘扫描程序修复发现的任何错误

  SCANDSKW /A /P

  8、运行过其他文件整理程序怎么办

  当运行了其他磁盘文件整理程序(如WinAlign)后,它可能扰乱了TaskMon记录的数据,若此时直接进行碎片整理,可能会得不偿失,达不到优化性能的目的。解决的办法是在进行碎片整理之前,多次运行Windows和自己最常用的程序,这样可以让TaskMon重新收集到正确的统计数据,指导进行磁盘优化。

  最后,当启动Windows98的磁盘碎片整理程序时,可能会诧异界面中的Intel标志。为什么处理器的生产厂商会参与编写这个优化磁盘的软件呢?这是因为硬盘寻道时间的缓慢会导致系统整体性能的下降,这样会有损CPU超级计算能力的形象,让人误以为是CPU性能的低下。Microsoft的一个测试表明,在奔腾233的机器上启动Windows仅仅比奔腾150快3%,也就是说,快速的CPU并不能克服磁盘延迟的缺点。于是,在共同利益的驱动下,Intel和Microsoft联合开发了Windows98的磁盘碎片整理程序,用来消除硬盘寻道缓慢的瓶颈。

  9、如何快速地整理磁盘碎片

  每次需要整理磁盘碎片时都需要选择“开始”*“程序”*“附件”*“系统工具”*“磁盘碎片整理程序”,然后再指定驱动器,很麻烦。能否有简单的方法完成这一系列操作?

  在Windows资源管理器中,选择“查看”*“文件夹选项”(或“查看”*“选项”),选择“文件类型”选项卡,并在“已注册的文件类型”列表中选择“驱动器”。单击“编辑”按钮,打开“编辑文件类型”对话框,选择“新建”,在“操作”栏中,键入“快速整理磁盘碎片”。在“用于执行操作的应用程序”栏中键入“C: Windows defrag.exe "%1" noprompt”。

  单击“确定”,然后“关闭”,回到“文件类型”选项卡,然后单击“关闭”。现在,打开“我的电脑”,右键单击想要整理磁盘碎片的驱动器,在弹出的快捷菜单中选择“快速整理磁盘碎片”即可。


二、加速磁盘碎片整理的六大技巧

  为了使系统发挥更好的性能,我们经常需要整理磁盘碎片,但对于大容量的硬盘来说,这一工作通常需要花费很多时间,本文将向您介绍一些加速整理磁盘碎片的技巧。

  1. 关闭应用程序

  由于某些程序在运行的过程中可能需要反复地读取硬盘中的数据,这会影响碎片整理程序的正常工作,在系统不稳定的情况下甚至还会导致死机现象的发生。因此,为了加快磁盘碎片的整理速度,最好把各个正在运行的程序关闭掉。

  2. 调整参数或使用专用软件

  如果硬盘的容量或者分区的容量比较小,对其进行碎片整理工作需要的时间不会太长,但对于一些塞满数据的大硬盘和分区来说,则需要一个漫长的等待过程。所以,我们在整理这些大容量的硬盘或者分区时,可以采取下面2种措施: 首先可以将Windows 9x系统自身附带的整理程序中的优化参数关闭,这样可以加快碎片整理的速度,但这种方法的效果可能不会很明显。另外一种方法是,使用专用的碎片整理工具来对硬盘或者分区进行整理,例如笔者目前使用的Vop99软件,其整理磁盘碎片的速度就非常快。如果我们每天都使用Vop99整理磁盘碎片,磁盘将在几分钟内得到优化,系统能够一直保持最佳状态。笔者建议大家使用Windows的计划任务程序,设定至少每周自动运行一次Vop99。

  3. 修改注册表自动关闭屏幕保护

  在进行磁盘碎片整理工作前,首先要关闭屏幕保护程序,否则磁盘碎片整理程序会反复地启动,但是如果每次都通过人工的方式来关闭应用程序,可能比较麻烦。在这里笔者告诉大家一个小窍门,即通过修改注册表来实现自动关闭屏幕保护。具体操作步骤如下: 首先,在命令行中使用regedit命令打开注册表,定位到"HKEY_CURRENT_USER Software Microsoft Windows CurrentVersion Applets",然后在此路径下寻找是否有"Defrag"键值,如果没有,就新建一个,系统默认情况下都有此键值。在"Defrag"键值下再新建一个名为"Settings"的主键,然后再在此新建的主键下建立一个名为"DisableScreenSaver"的主键,最后将它的默认字符串值改为"YES"即可。以后每次运行磁盘碎片整理程序时系统会自动屏蔽掉屏幕保护,运行完成后自动恢复。

  4. 改变交换文件的位置

  我们知道,如果大量碎片存在于C盘之中,可能会影响系统的启动速度。为了加快系统的启动速度,我们应该尽量减少C盘中的碎片。在Windows 95/98系统中,当应用程序所需的物理内存不足时,默认情况下系统会在硬盘的C: Windows系统目录中产生一个文件名为win386.swp的临时交换文件,用该文件所占用的硬盘空间作为虚拟内存,即使不进行任何操作,只要打开电脑,该文件就存在。很显然,虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生磁盘碎片的主要原因。由于用户习惯将Windows 95/98系统和应用程序分别安装在C: Windows和C: Program Files目录下,已占用了大量空间。为避免临时交换文件在C盘频繁读写产生大量的碎片,我们可以将临时交换文件的生成路径指定在其他分区。具体操作步骤为: 选择"控制面板"*"系统",在对话框的"性能"选项卡中单击"虚拟内存"按钮,选择"用户自己指定虚拟内存设置"选项,再从"硬盘"选项中选择"D: "(注意: D盘可用空间不可小于100MB),最后单击"确定"按钮。重新启动系统后,我们就会发现win386.swp临时交换文件已经生成在D盘的根目录下了。

  5. 改变临时文件夹位置

  在使用IE浏览器上网冲浪时,为了能花很少的钱访问更多的信息,用户常常会采取离线浏览的方法来进行访问。而每次上网后,IE浏览器将会在C: Windows Temporary Internet Files目录中留下许多临时文件。如果我们频繁地上网冲浪,IE浏览器可能会在该目录下生成大量临时文件,同样会对硬盘频繁读写,产生大量碎片,从而影响访问速度。为了避免这一情况,我们同样可以将临时目录指定到其他分区。方法为: 首先在D盘中建立一个临时文件的存放目录,选择"控制面板"*"Internet选项",在打开的对话框中单击"设置"按钮,然后单击"移动文件夹"按钮,选择D盘中相应目录即可。

  6. 保留一定的磁盘空间

  我们在使用中会发现,如果硬盘的剩余空间太小,运行应用程序的速度将会很慢,磁盘碎片整理也很难进行。所以,对于比较小的磁盘分区,最好保持15%以上的可用空间; 对于比较大的磁盘分区,最好保持5%以上的可用空间; 对于引导分区,至少要有40MB以上的可用空间。另外,在使用电脑的过程中,我们应该及时释放浪费的磁盘空间,例如经常清空回收站、删除上网后的历史记录以及删除临时文件夹和文件等。


三、系统磁盘碎片解决终极技巧

  只要有读写,就有碎片产生。那怎样在使用系统盘(C盘)时碎片少些,提高系统性能呢?其实很简单的,在系统盘中,系统自动读写的,产生碎片最多来源于三个方面,我们只要将这三个程序转移到非系统盘,如D盘进行读取,就可以减少系统盘中的碎片了。操作方法如下。

  1.将临时交换文件(Win386.swp)移到D盘

  选择“控制面板”——“系统”,在对话框选择“性能”选项卡中单击“虚拟内存”按钮,然后选择“用户自己指定虚拟内存设置”选项,再从“硬盘”选项中选择:“D:”(注意 D盘可用空间不可小于100MB),最后单击“确定”按钮。重新启动系统后,我们就会发现Win386.swp临时交换文件已经生成在D盘的根目录下了。

  2.将IE的临时文件储存目录(C:WindowsTemporary Internet Files)移到D盘

  先在D区建立一个目录(如IE目录),再选择IE中的“工具”菜单下“Internet选项”,在弹出的对话框中单击“设置”——“移动文件夹”,最后选择D:IE目录即可。经过这样设置后,IE浏览器生成的大量临时文件只会在D区上产生碎片。

  3.将Windows临时文件目录(C:WINDOWSTEMP)移到D盘

  先在D区根目录建立目录TEMP,再编辑AUTOEXEC.BAT文件内容,在其中开始处输入SET TEMP=D:TEMP和SET TMP=D:TEMP两行,结尾处输入deltree /y d temp 和md d temp 两行(目的是删除有的程序执行后残留的临时文件)。之后,重新启动你的电脑,系统的临时文件目录指定到了D:TEMP,绝大多数程序安装和运行时生成的临时文件只在D区产生碎片。


四、安全模式下进行碎片整理

  一般情况下,在整理了磁盘碎片后,会发现碎片整理报告中有一项 “未经过碎片整理的文件”,那下面常常会列出一长串没有被整理的文件名。这些未被整理的碎片大都是正处于运行状态的系统文件,而操作系统是不允许整理这些文件的。

  如果想更彻底进行磁盘碎片整理,可以把系统启动到“安全模式”状态下整理。因为当系统启动到“安全模式”状态下时,只会加载必需的驱动程序和系统文件,而不会加载其它多余的程序。而且操作系统在“安全模式”下占用的内存空间较少,就会有更多的内存用来碎片整理,提高整理速度。

  评论这张
 
阅读(44)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018