一、什么是磁盘碎片?

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

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

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

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

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

三、磁盘读写操作的原理

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

为何要整理磁盘 Windows系统并不能自动将每个文件按照最大程度减少磁头搜索时间的原则放到磁盘上最合适的位置。于是在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也就不会去优化它了。

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

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

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

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

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

五、整理前的准备工作

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

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

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

六、整理方法及注意

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

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

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

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

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

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

/SILENT 启动磁盘扫描程序不允许作任何选项设置和高级设置。
/A 检查所有的本地硬盘
/N 自动启动和退出磁盘扫描程序
/P 防止磁盘扫描程序修复所发现的错误
X: X 表示指定要检查的驱动器号(不需要 / 的命令参数)
举例:
1)检查驱动器 E 并自动启动和退出磁盘扫描程序
SCANDSKW E: /N
2)检查所有的硬盘并防止磁盘扫描程序修复发现的任何错误
SCANDSKW /A /P

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

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

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

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

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

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

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

文件碎片/磁盘碎片的一些知识相关推荐

  1. 计算机碎片整理,计算机磁盘碎片整理

    出国留学网小编为你整理"2017计算机资格WindowsXP考点磁盘碎片整理"哦,介绍了WindowsXP等相关内试题,欢迎广大网友前来学习,希望对你有所帮助!更多资讯关注本网站的 ...

  2. 清理计算机磁盘碎片,电脑磁盘碎片清理我帮你

    若何有用的清理垃圾并快速清算碎片是硬盘维护的永远话题,这也是为什么良多磁盘清算软件受到了良多用户的接待.我们曾经对一些磁盘清算软件进行过清算和举荐,可是时过境迁,不少工具都有了新版本,本次我们就向巨匠 ...

  3. 磁盘管理1(磁盘碎片、磁盘格式转换)

    磁盘碎片 磁盘碎片也称文件碎片,是由于文件被分散保存到磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的.当应用程序所需要的物理内存不足时,操作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘 ...

  4. 消除计算机硬盘的碎片应该使用,Win10系统如何对磁盘碎片进行彻底清理优化

    win10系统用户在操作使用电脑进行工作学习的过程中,电脑磁盘也会产生大量的垃圾文件和磁盘碎片,这些垃圾文件和磁盘碎片不仅会占用磁盘空间容量,还会影响到系统运行速度,遇到这种情况我们应该怎么办呢?其实 ...

  5. 小知识-为什么Linux不需要磁盘碎片整理

    ref: https://itcat.cn/post-495.html Linux不需要磁盘碎片整理的真正原因是因为Linux只是一个内核它没有磁盘可以整理. BTW,ext4已经开始提供碎片整理工具 ...

  6. linux多磁盘块文件删除过程,如何整理Linux磁盘碎片

    Linux界曾经有过这样一个神话:Linux操作系统永远不需要整理磁盘碎片,相信很多人都听说过.由于Linux采用了优秀的日志文件系统(ext2.ext3.ext4,btrfs等),现在基本上不用ex ...

  7. 数据结构考研:电脑磁盘碎片的定义、产生原理和清理原因(文件碎片/机械硬盘/固态硬盘/硬盘清理/计算机/软件工程/王道论坛)

    一.问题背景 博主最近在浏览王道论坛的数据结构书籍,其中提到数据的存储结构有4种,其中之一就是顺序存储,顺序存储可以实现随机存取,但只能使用物理地址上相邻的一整块存储单元,因此可能产生较多的外部碎片. ...

  8. 解决无法将卷压缩到超出任何不可移动的文件所在的点【磁盘碎片整理】

    压缩卷时,发现盘内剩余空间很大而可压缩空间很小(远小于剩余空间),并且提示信息为"无法将卷压缩到超出任何不可移动的文件所在的点". 问题的原因应该是压缩卷的可压缩空间需要是盘尾一段 ...

  9. 十款很不错的磁盘碎片整理工具

    说到磁盘整理工具,应该说说磁盘碎片的定义,为什么磁盘碎片会对系统性能造成影响.首先我不是专业的电脑人员,对很专业的理论知识不懂,在这里只可 以用很通俗很日常的语言来表达.其实磁盘碎片应该称为文件碎片, ...

最新文章

  1. C# 虚函数和重载函数
  2. linux之用 grep -r 关键字
  3. 虹软java接摄像头_虹软人脸识别SDK(java+linux/window) 初试
  4. html5+shim脚本,HTML5探秘:用requestAnimationFrame优化Web动画
  5. 微机原理换行代码_微机原理课程设计——汇编输出杨辉三角
  6. Hibernate关系映射
  7. linux 运行python 看不到异常信息_Linux异常解决:/usr/bin/env python\r no such file or directory...
  8. Python+Appium+夜神模拟器安装与简单运行(2/2)
  9. 手机怎么用外嵌字幕_教你用手机给视频添加字幕,超简单,3分钟就能学会
  10. CSS命名与书写规范
  11. n9100 分区 Linux,​史上最全的三星N9100官方固件
  12. java找不到符号解决办法
  13. 前端常用PS技巧总结之更换图片背景图片
  14. python一笔画五角星_一笔画五角星,有多少种方法?
  15. 关于异业联盟和O2O商业模式的一些想法
  16. phpstorm 配置自动编译 less
  17. linux里面查找替换命令,LINUX 查找替换命令 总结
  18. 陳三甲网络笔记:即使你摆正了姿势,也不一定能赚到钱!
  19. Python求黑色星期五问题
  20. win10系统下Eplan使用过程中卡死现象

热门文章

  1. Java线程(五):Executors、ThreadFactory
  2. 第七十五章 Caché 函数大全 $XECUTE 函数
  3. Codeforces Round #807 (Div. 2)A~E个人题解
  4. android轮播图简单实现(左右无限滑动,自动轮播)
  5. 【电力系统】基于凸松弛算法的电力市场策略(Matlab代码实现)
  6. 身份证二进制数据解析
  7. 首个直播商城,拼团商城,小程序商城的微服务分布式框架,前后端分离
  8. Eclipse开发Android的安装配置。
  9. 钉钉中添加回调监听事件
  10. linux windows10双系统安装教程,【笔记】windows10安装linux双系统教程(可能是现今最简单方法)...