CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Windows专区 >  Windows NT/2000/XP/2003

我的系统空闲一段时间(大概30分钟)就会自动运行碎片整理,不停的读硬盘,烦死人了,怎么解决呢?

楼主starytx(此地禁止大小便,违者没收工具!)2006-02-15 21:51:58 在 Windows专区 / Windows NT/2000/XP/2003 提问

我的系统老是空闲一段时间后就自动运行,defrag.exe和dfrgfat.exe这两个程序,是磁盘碎片整理,不停的读硬盘,都快烦死人了,一动电脑,人家就停止了(从任务管理器中退出了)。我都重装过系统了,还是这样(不过开始好像没出现这问题,过了2天吧,又出现这问题了)。大伙帮帮忙啊,实在是没办法了。有人说可能是硬盘问题,可我的机子用2,3个月了,以前没有这问题的。我的硬盘不是IDE的。有人说删除“计划任务”中的任务,可我的“计划任务”里没有什么任务阿。实在是百思不得其解,没办法,我只好把这两个程序暂时放到回收站里了。可这心里还是不踏实,望高手指点迷津!!不胜感激!! 问题点数:50、回复次数:5Top

1 楼mudonfield(如影随行·郁闷得太久了)回复于 2006-02-15 23:24:46 得分 45

这是因为XP及2003系统在空闲时会自动整理磁盘碎片,请看下面完整的文章。  
   
  如果你使用Windows   XP操作系统,那么请注意磁盘碎片整理的问题。    
     
    一、为什么需要整理碎片    
     
    磁盘上的文件布局会强烈地影响I/O性能,严重碎片化的或散布在磁盘中的文件和目录会影响性能,虽然Windows   XP会自动重定位某些文件来改善性能,但通常情况下,这并非属于系统必须的常规动作,而且通常情况下也仅包含磁盘上很小部分的文件。    
     
    从这方面来考虑,应该在系统安装结束后立即对磁盘进行完整的碎片整理。默认情况下,WindowsXP每隔3天就会执行一次局部碎片整理,并根据当天的使用情况调整文件在磁盘上的物理位置,所移动的文件将被写入Layout.ini文件,这是Windows   XP认为应该按照这一顺序来安排文件在磁盘上的物理位置,该文件的路径在C:\Windows\Prefetch。    
     
    系统在空闲时会自动整理磁盘碎片,此时会首先读取Layout.ini文件中的内容,并针对其中涉及的文件进行局部的碎片整理,这也是磁盘整理程序转移文件位置的依据。    
     
    二、深入认识Prefetch目录    
     
    在Windows   XP及其以后的操作系统中,增加了预读取功能(也可以理解为“预先装载”),该功能可以提高系统的性能,加快系统的启动、文件读取的速度,这些预读文件保存在%systemroot%\Prefetch目录中,以pf为扩展名,这些*.pf文件包括了载入文件的详细信息和载入顺序。    
     
    每一个应用程序,包括Windows   XP的启动过程,都会在PrefetCh目录下留下相应的预读取文件,预读取文件描述了应用程序或启动时各个模块的装载顺序,其命名方式是以应用程序的可执行文件的名字为基础,加上一个“-”和描述执行文件完整路径的十六进制值,再加上文件扩展名pf,例如:QQ.EX-0065A2A1.pf。每当用户启动一个程序,会自动在Prefetch目录中对应的*.pf文件中留下一条记录。不过,Windows   XP启动的预读取文件总是同一个名称,即NTOSBOOT-B00DFAAD.PF,其中包含着启动时载入文件的记录。    
     
    当下一次启动系统或运行某个程序时,Windows会参考相应的*.pf文件,将其中记录的所有文件载入内存,而不是像以往一项一项依指令逐个载入文件。另外,Windows会利用启动程序或程序的*.pf文件制订一个最优化的磁盘分配方案,这个方案的相关信息存储在Lyaout.ini文件中。    
     
    三、如何不让系统自动整理磁盘碎片    
     
    有时候,你可能会觉得局部碎片整理的功能非常无聊,因为磁盘的碎片整理也会对硬盘进行某种程度的操作。网上流传着关于通过修改注册表键值来禁用局部碎片整理的技巧,看似有理,但事实上,这些所谓技巧是完全无效的。事实上,你即使将C:\Windows\Prefetch\目录下的文件全部删除,重新启动系统后仍旧会自动创建Layout.ini文件,届时3天1次的局部碎片自动整理功能会被重新激活。因此,正确的方法是用记事本打开Layout.ini文件,将其中的内容全部删除,并将这个文件设置为只读属性,这样Windows   XP就无法激活局部碎片自动整理功能了,当然你也就不用担心C:\Windows\Prefetch\会变得越来越庞大了。    
     
    四、深入一步的讨论    
     
    我们经常可以从网上看到关于修改注册表键值以提高Windows   XP启动速度的技巧,这些技巧真的是有效的吗?下面,我们结合磁盘碎片整理的实例来进行深入一步的探讨:    
     
    问题一:C盘为什么无法进行碎片整理?    
     
  Windows   XP系统,在对C盘进行碎片整理时,提示由于C:\Windows\prefetch\WMIPR    
     
  VSE.EXE-28F301A9.PF文件损坏,扫描无法继续。    
     
  C:\Windows\Prefetch\是Windows   XP的预读文件夹,Windows   XP将频繁使用的数据存放在预读文件夹中,需要再次使用这些数据时可以大大加快读取速度,但随着时间的增长,这个文件夹的个头会变得越来越大,而且可能会存在一些死链文件,此时如果执行碎片整理,就有可能出现上面提到的错误,解决的办法是清空这个文件夹,然后整理碎片。    
     
    问题二:启动时也能整理碎片吗?    
     
  Windows   XP可以在启动时进行碎片整理,使那些启动所必须的文件能够相邻排列,从而在下次启动时提高速度,不过该功能在默认设置下是被关闭的。激活的办法是打开注册表编辑器,找到HKEY_LOCAL_MAHCI    
     
  NE\SOFTWARE\Dfrg\BootOptimizeFunetion,双击右侧窗格中的Enable键,将键值由默认的“N”修改为“Y”即可。    
     
    问题三:禁止预读取后能提高系统的启动速度吗?    
     
    网络上流传着1条关于提升Windsws   XP启动速度的技巧,具体方法是通过修改注册表中HKEY_LOCAL    
     
  _MACHINE\SYSTEM\CurrentControlSet\Control\Session   Manager\Memory   Management\PrefetchParameters目录下EnablePrefeteher子键,将它的键值赋为“1”。这样可以减少预读取的文件,减少进度条等待时间,效果是进度条跑一圈就进入登录画面了。    
     
    微软的技术文档解释了EnablePrefetcher被赋予不同值的含义:    
     
  0:取消预读取功能;    
     
  1:只预读取应用程序;    
     
  2:只预读取Windows系统文件。    
     
  3:预读取Windows系统文件和应用程序,这是WindowsXP的默认值。    
     
    虽然EnablePrefetcher键值设置为1后,的确可以减少预读取的文件,但系统初始化内核的工作是一个非常复杂的过程,此时需要加载很多底层的驱动程序、启动子系统以及相关的服务,即使是当我们看到了欢迎屏幕,也不能认为此时系统已经启动完成,因为系统会在后台继续初始化那些未完成的驱动程序的加载工作,虽然滚动条的动作次数较以前大大减少,但在显示欢迎屏幕之前的黑屏过程却反而有所增加,因此总的系统时间并未变化。  
   
   
   
   
   
   
  下面的这段叙述摘自微软对2003的某些说明:  
  http://www.microsoft.com/china/technet/prodtechnol/windowsserver2003/planning/performance.asp#_Toc69803357  
   
  关闭磁盘碎片自动整理程序  
   
          在服务器启动   15   分钟后,磁盘碎片自动整理程序(Auto   Defragmenter)随即启动。该程序将运行一个小时,以后每12个小时重新启动一次。基准测试要求测试结果可重复,因此建议关闭磁盘碎片自动整理程序,以便避免对正在运行的基准测试造成任何可能的干扰。如果已启用磁盘碎片自动整理程序,那么可以在事件日志中查看磁盘碎片整理程序的运行情况。  
   
  下方注册表参数用于关闭磁盘碎片自动整理程序:  
   
  HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\DSA   Heuristics   =   REG_SZ   000001Top

2 楼mydo(侯佩|hopy|ks)回复于 2006-02-16 08:04:35 得分 5

你的硬盘是否有问题。Top

3 楼starytx(此地禁止大小便,违者没收工具!)回复于 2006-02-16 08:32:14 得分 0

多谢   mudonfield(如影随行)   的解答,我回去试试。可如果是系统的问题的话,为什么以前用XP却没出现过这种情况。而且同室的电脑也是同一张系统盘装的XP,他的没问题的,反正非常奇怪,是不是安装了某个软件后,启动了这个功能呢。刚装过系统那两天还没发觉,昨晚上在看电视,闲置了一会就开始读硬盘了,我一看,是那两个程序。反正很是奇怪。  
  回楼上的,硬盘会有什么问题呢?我电脑刚买没几个月,不会就出问题了吧。Top

4 楼starytx(此地禁止大小便,违者没收工具!)回复于 2006-02-16 11:27:14 得分 0

知道的都发表一下高见阿,拜托了!  
  还有mudonfield(如影随行)说的HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\DSA   Heuristics   =   REG_SZ   000001  
  这个注册表路径是不是2003里边的阿,我在XP中没找着NTDSTop

5 楼starytx(此地禁止大小便,违者没收工具!)回复于 2006-02-16 20:49:08 得分 0

我把C:\Windows\Prefetch\下的layout.ini清空,并设为只读后,果然有效果。空闲了30多分钟了也没有见运行那两个程序。多谢   如影随形   大哥!接分!Top

相关问题

  • 碎片整理受阻-help!
  • 碎片整理问题.
  • 碎片整理,欢迎讨论
  • oracle如何进行碎片整理?
  • 关于碎片整理的问题
  • 磁盘碎片整理问题
  • 磁盤碎片整理不行???
  • 求磁盘碎片整理算法
  • 求磁盘碎片整理算法
  • 关于Sql server碎片整理

关键词

  • 文件
  • 系统
  • 硬盘
  • xp
  • 应用程序
  • 性能
  • 文件夹
  • 修改
  • 磁盘
  • 碎片整理

得分解答快速导航

  • 帖主:starytx
  • mudonfield
  • mydo

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo