查看: 427|回复: 2

[综合技术交流] 三管齐下让计算机远离碎片困扰

 关闭 [复制链接]

该用户从未签到

发表于 2014-8-25 01:47 | 显示全部楼层 |阅读模式
计算机存在的各种“碎片”已经成为了影响计算机性能主要因素了,有读者会问,计算机存在的碎片主要涉及到哪些方面?产生的原因有哪些?危害有哪些?解决方式有哪些?这些问题会向读者们一一解答。
      1、磁盘碎片方面
在google搜索“计算机 碎片”关键词,更多的搜索结果涉及到磁盘碎片。“对于传统的机械硬盘来说,最容易影响磁盘性能的毫无疑问是磁盘碎片了(内容摘自《CHIP 新电脑》)”。磁盘碎片一般不会引起系统问题,但磁盘碎片数量过多会使得系统在读取数据时来回寻找,致使增加磁头的移动次数,降低了磁盘的读取性能,严重的话会缩短磁盘的使用寿命。不过当大量磁盘碎片存在于Windows的重要系统文件中时,也可能导致系统崩溃,甚至数据丢失。
磁盘碎片产生原因
      传统硬盘在使用一段时间后,由于反复写入和删除文件,传统磁盘中的空闲扇区会分散到整个磁盘中不连续的物理位置上,从而使文件不能存在连续的扇区类。这样,再读写文件是就需要到不同的地方去读取,增加了磁头的来回移动,降低了传统磁盘的访问速度。
      当应用程序所需的物理内存不足时,一般操作系统会在硬盘上产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。浏览器生成的临时文件也会造成系统中形成大量的碎片。
      当应用程序在运行过程中所需要的物理内存空间不足时,操作系统通常会在硬盘上产生临时交换文件,用该动态加载文件所占用的磁盘空间虚拟成内存内存空。“当然,文件在磁盘上并不必须连续存放”(内容摘自《深入解析Windows操作系统》「第4版」)。Windows虚拟内存管理程序会对硬盘频繁读写,从而产生大量的数据碎片。这是产生硬盘碎片的主要原因。《CHIP 新电脑》对磁盘碎片产生的原因作出的是这样的解释,“电脑在使用的过程中,磁盘会进行频繁的读、写和删除文件等操作,被删除数据原来占用的空间将被释放,这些被释放的空间可能分布在磁盘的各个角落,并且大小不一。而系统新写入的文件基本上不可能恰好与之一样大,这将导致系统必须将文件的一部分写到其他位置的可用空间中。长此以往,磁盘上原本连续存储数据的磁盘区块开始变得支离破碎,许多文件被分割成碎片存储在磁盘的不同区块中。系统在读取这些文件时必须频繁定位后续数据所在位置,并不断重新调整硬盘磁头进行数据读写,耗费大量额外的时间”。所以平时多注重对虚拟内存进行碎片整理也是有效防止磁盘碎片重要手段。

      在使用整理程序前应注意的几个问题: 一、在使用磁盘碎片整理程序之前,先把所有正在运行的应用程序都关闭,原因在于一些程序在运行的过程中可能会反复地读取硬盘中的数据,进而可能会影响碎片整理程序的正常工作降低磁盘碎片整理的速度。
二、进行磁盘碎片整理时,安全程序有可能被激活。原因在于磁盘碎片整理程序将会对部分文件的存放位置进行调整,而安全防护程序则会检测每一次文件的变动以判断该变动是否是因为恶意程序或病毒引起。这时需要关闭安全防护程序的实时保护功能。同时建议断开网络接入。
三、检查并修复硬盘中的错误。首选的仍然是微软的“磁盘扫描程序”,虽然其速度实在不怎么样,但只要你有足够的耐心,经过这个程序对磁盘完整而详细的扫描后,相信系统中的绝大多数错误已经被修复了。当然你也可以尝试一下第三方磁盘错误扫描程序,如TuneUP Utilities的TuneUP Disk Doctor磁盘扫描工具。很多用户可能不太了解磁盘差错的作用是什么,TuneUP Disk Doctor程序给出的答案是,检查磁盘的文件系统结构性错误,并进行修复,以防止数据丢失。
TuneUP Disk Doctor在会固定时间提示用户进行磁盘错误扫描。提供了“普通分析”和“全面分析”两种模式。分析结果后提示哪个分区需要经重新启动计算机后在引导时对磁盘进行错误检查。
       具体操作:以TuneUP Utilities 2010版本为例。双击桌面上的“趣能系统优化专家”图标,在“更正问题”选项区域中,点击“所有功能”,在弹出的菜单中选择“检查磁盘错误”。依次点击“TuneUP Disk Doctor”窗口右下方下的“下一步”即可实现对磁盘错误的检查工作。如长时间没有进行过磁盘错误检查,建议实行“全面分析”模式,依次点击“下一步”按钮即可完成。
      四、应该把硬盘中的无用数据、临时文件清理干净。系统在运行一段时间后,一些无用的数据及文件会占用大量的磁盘空间。例如在程序安装时产生的临时文件、上网时留下的缓冲文件、删除软件时剩下的DLL文件或强行关机时产生的错误文件等。运行专业的系统清理工具,对系统垃圾进行清理释放磁盘空间,进而可缩短磁盘碎片的整理时间,笔者推荐使用ccleaner。
      另外向读者推荐使用BleachBit,它是一款开源免费的系统清理工具,目前支持Linux和Windows,是一款非常优秀的跨平台系统清理工具。BleachBit最新版本可以清除90 种应用软件的残留数据,包含 Firefox、Internet Explorer、Flash、Google Chrome、Opera、Safari、Adobe Reader等,能迅速释放磁盘空间。除了清理垃圾文件,BleachBit还提供诸如文件粉碎,可用磁盘空间擦除等高级功能。
      在进行磁盘碎片整理前,用户希望最短的时间完成减少不必要的碎片整理工作及硬盘读写磨损。运行BleachBit,推荐在主界面的左侧勾选“深度搜索”下的复选框选项,注意这样将会弹出警告窗口提示,为此用户做好充分的耐心准备。
       五、推荐进入Windows安全模式进行碎片整理。因为Windows在正常启动时,系统会自动加载一些自动启动程序,例如内存管理工具RAM saver pro,系统优化程序TuneUp Utilities等。这些自动启动程序会自动维护功能对磁盘进行读写操作,从而对磁盘的碎片整理造成负面影响。“在安全模式下启动 Windows,只使用有限的文件和驱动程序。在安全模式下启动程序不运行,并且只安装启动 Windows 所需的基本驱动程序”(内容摘自微软中国官网)。在“安全模式”下可以实现整理过程中不任何干扰。
        进入“安全模式”具体操作:
→ 取出计算机中的所有的软盘、CD 和 DVD,然后重新启动计算机。
依次单击 「开始」按钮 、“关机”按钮旁边的箭头  ,然后单击“重新启动”。
→ 请执行下列操作之一:
◆ 如果计算机仅安装了一个操作系统,则在计算机重新启动时按住 F8 键。您需要在 Windows 徽标出现之前按 F8。如果出现了 Windows 徽标,则需要重试,方法是等到 Windows 登录提示出现之后关闭并重新启动计算机。
◆ 如果计算机安装了多个操作系统,则使用箭头键突出显示希望以安全模式启动的操作系统,然后按 F8。
→ 在“高级引导选项”屏幕上,使用箭头键突出显示所需的安全模式选项,然后按 Enter。有关选项的详细信息,请参阅 高级启动选项(包括安全模式)。
→ 使用具有管理员权限的用户帐户登录计算机。
计算机处于安全模式时,可以看到监视器各角显示的“安全模式”字样。若要退出安全模式,请重新启动计算机,然后正常启动 Windows。
      最后提醒用户的是,磁盘碎片整理过程中需要CPU进行大量的磁盘调度运算,所以为了能更快更好更安全地完成磁盘整理,建议最好在进行碎片整理的同时不要运行其它应用程序。
      磁盘碎片整理工具推荐
优秀的磁盘碎片整理软件需要优秀的磁盘调度算法、数据压缩算法,需要良好的系统兼容性和安全性,支持常见的文件系统以及中断任务时的良好数据保护能力。
        “CHIP推荐你使用PerfectDisk 10(www.raxco.com)来帮助磁盘更好地解决碎片问题。PerfectDisk是Raxco公司的产品,同时也最好的磁盘碎片整理程序之一,它拥有磁盘碎片整理程序最常见的操作界面和功能该,比较符合国人的使用习惯。该程序可以在两种模式下运行,即手动启动碎片整理或者让StealthPatrol碎片整理模板在后台自动整理。如果你有几个分区,建议使用自动整理模式。如果你只用一个系统分区,那么偶尔手动整理一下已经足够,除非你经常安装新的软件”(内容摘自《CHIP 新电脑》)。PerfectDisk 10免费试用30天。在PerfectDisk中通过“Analyze”你可以确定当前驱动器是否存在大量的碎片,在“Statistics”选项卡中你可以了解检测的统计结果,如果磁盘碎片分割程度超过5%,建议进行碎片整理,磁盘碎片分割可经过磁盘碎片整理程序的碎片分析功能所得出。
      Windows自带碎片整理工具.出于磁盘分析效果、支持常见文件系统、与Windows兼容性好、占用内存低、安全可靠、完全免费、操作简易等方面的考虑,更多用户更倾向于Windows自带磁盘整理工具。同时Windows自带碎片整理工具还有一项重要功能, 大多数用户可能不是很了解。在说这项功能前,首先了解一下Windows的预读技术,“预读是微软采用的一种加速程序进程启动速度的技术,主要原理是开机加载操作系统时读取常用程序的主要内容,以备该程序启动时消耗大量时间来读取本身的数据”(内容摘自《预读-百度百科》),换句话讲,在Windows系统和应用程序启动时,Windows会监视内存页面与交换文件以及硬盘中相关数据的交换情况,在发生数据交换时,Windows会记录下每个程序在运行时需要读取的磁盘数据,并将读取的状况记录在\Windows\Prefetch目录的以pf的后缀名文件里。“*.pf文件是系统和应用程序启动时留下的预存取文件,描述了系统和应用程序每次启动时装载模块的信息和顺序,并且其命名方式中包含一个描述其完整路径的十六进制值”(内容摘自《预读-百度百科》)。同时,Windows为了进一步优化提升预读操作的效率时,系统本身还会定期对*.pf文件进行分析处理,将组织好程序数据装载的顺序,并将分析处理后的存放在\Windows\Prefetch目录中的Layout.ini文件中,往下就是内容的重点了, 于Windows自带磁盘整理工具在进行碎片整理时,先读取Layout.ini文件,然后磁盘整理工具针对Layout.ini中涉及到的内容在进行碎片整理,可以做到依据用户的使用习惯来进行碎片整理,凸显针对性。
      在这里向读者们介绍一项没有听说过的Windows功能,局部碎片整理功能,在微软官网上有明确说明,Windows系统会每个3天就会自动进行一次碎片整理工作。该功能可在通过“注册表”编辑器开启,依次定位HKEY_LOCAL_MACHICE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction\,在有窗格中双击Enable,在“数值数据”下的文本框中将“N”改为“Y”,即可开启。
      有些读者会问,如果Layout.ini文件意外删除,怎么才能重建?非常简单,只需调出“运行”,在其文本框中键入rundll32.exe advapi32.dll,ProcessIdleTasks,然后重启3次计算机即可完成Layout.ini文件的重建。
      但它最大的缺点是整理磁盘碎片的速度较慢。
需要提醒用户的是Windows自带碎片整理工具存在着明显的不足,它没有对驱动器进行完全的磁盘碎片整理。
在Windows自带碎片整理工具将完全整理某个磁盘分区前,该分区必须要有至少15%的可用空间。如果可用的余闲空间没有达到该要求,此操作仍将运行,但只能对部分磁盘碎片进行整理。可在“碎片整理程序”控制台右侧的驱动器条目中检查该值,以确认所选驱动器当前可用空间量。如果需要,可删除或转移一些文件以腾出额外的空间。
Windows自带碎片整理工具不能对Windows标记为可能含有错误的卷进行碎片整理。
Windows自带碎片整理工具并不整理“回收站”中的文件。建议可在进行碎片整理前可将无用的“回收站”数据进行清理。
Windows自带碎片整理工具不整理如下这些文件:Bootsect.dos、Safeboot.fs、Safeboot.csv、Hiberfil.sys和Memory.dmp。此外,也不会整理Windows的页面文件。
尽管页面文件的碎片整理通常不是严重的问题,但是碎片非常多的页面文件可能会降低系统的性能。

减少磁盘碎片的预防措施
      一、磁盘存在足够大的空间时,Windows操作系统尽量寻找连续的空间,不会为了因节约空间将新写入的文件拆分成细小的文件进行存放。当磁盘空间不足,导致连续的磁盘空间不足时,向磁盘写入数据时才不得已将数据或文件拆分成细小的文件存放在之前存在的文件之间的缝隙中。所以当C盘空间足够大、剩余空间足够多时,是不会产生大量的磁盘碎片的。
     为磁盘预留一定空间有助于减少主文件表(MFT)碎片的产生。
     MTF在NTFS卷上扮演着重要的角色,对其性能的影响很大,系统空间分配、读写磁盘时会频繁地访问MFT,因此MFT对NTFS的卷的性能有着至关重要的影响。NTFS文件系统的开发者在MFT附近预留着一个特定区域,用来减少MFT中的碎片,默认状态下,这个区域战争各卷大小的12.5%,尽管这个区域能使MFT中的碎片最少,但它并非总是合适的。“在NTFS中,一个卷上存储的所有数据都被包含在文件中,包括定位和获取文件所使用的数据结构、引导程序的数据,以及记录整个卷分配状态的位图。将所有的一切都保存在文件中,这将使得文件系统很容易找到数据和维护数据(内容摘自《深入解析Windows操作系统》「第4版」)”。
      要对MFT的空间进行管理,可在HKEY_LOCAL_MACHINE\SYSTEM\CurrentContrplSet\Countrol\FileSystem中增加一个类型为REG_DWORD的NtfsMftZoneReservation,它的默认值是1,其范围是1-4(1表示MFT占整个卷的12.5%,2表示25%,3表示37.5%,4表示50%)。
必须在创建NTFS卷之前改变注册表。对住此表修改只影响此后建立的NTFS卷,对目前现有的卷没有影响,这些卷还会保持原来的MFT的设置。为MFT分配更多的空间不会影响正常的存储空间,因为一旦正常文件存储空间满后,NTFS将使用MFT区,有时这也是导致MFT区容易有碎片的原因。因此必须注意用户文件已经占用的存储空间,在卷上保留一定可用空间,这样MFT就可以有足够的保留空间。
“MFT是NTFS卷结构的核心所在(内容摘自《深入解析Windows操作系统》「第4版」)”Diskeeper Professional Edition磁盘整理工具提供了对主文件表(MFT)的碎片整理功能。
二、NTFS文件系统格式以簇为它的分配单位来存储数据文件。“保持它(NTFS中簇的大小)与物理扇区大小之间的独立性(内容摘自《深入解析Windows操作系统》「第4版」)”,也就是说NTFS中簇的大小并不依赖于磁盘或分区的大小,这样可以为用户管理磁盘空间方面提供了一项自定义选择。“这种独立性使得NTFS只需用一个更大的簇因子(也就是粗的大小)就可以有效地支持非常大的磁盘,或者支持非标准的磁盘(其扇区大小并非512字节)。在一个大的卷上,使用更大的簇因子可以减少磁盘碎片,并提高分配速度,但从被浪费的磁盘空间而言,则需要付出一点小小的代价(内容摘自《深入解析Windows操作系统》「第4版」)”。
分配单元,旧称簇。是操作系统为每一个单元地址划分的空间大小,并且每个分配单元只能存放一个文件。文件是按照分配单元的大小被分成若干块存储在磁盘上。当分配单元的大小设置为512字节时,现在存储一个大小为512字节的文件,即它所占用的磁盘空间为512字节。假如向磁盘写入一个大小为513字节的文件,它需要占用1024字节的磁盘空间。当分配单元的大小设置为4096字节时,它就会占用4096字节的磁盘空间。从常规上讲,分配单元的大小设置为越小越节约空间,反之,越大越浪费空间。同时,将分配单元的大小设置越小时,往往一个文件被分成的块数越多,即该文件的存储单元越分散,进而增减读取文件所需要的时间。将分配单元的大小设置较大时,文件存放位置相对集中,从而提高读写速度。归纳为一句:簇的大小设置过大性能会提升,但是会造成空间的浪费;簇过小空间浪费较少,但是碎片增多,磁盘性能下降大。
所以磁盘空间足够大的情况下推荐使用NTFS文件系统格式。可以通过磁盘格式化的方式将簇的大小增大(如图所示),将“分配单元大小”下的下拉选择“4096 字节”。

2、页面文件碎片
首先对Windows下的页面文件进行必要的了解,页面文件是指操作系统用来构建虚拟内存的硬盘空间。具体来说,在windows NT操作系统下(Windows 2000/XP)用于实现虚拟内存的文件则以系统分区根目录下的页面文件 pagefile.sys(具有隐藏、系统属性)形式来保存。这些文件的大小——即pagefile.sys文件大小的默认值是物理内存的1.5倍。同时,页面文件可以设置一个比平常值大的最大值。
“由于虚拟内存使用了硬盘,硬盘上非连续写入的文件会产生磁盘碎片,因此一旦用于实现虚拟内存的文件或分区过于零碎,会加长硬盘的寻道时间,影响系统性能。有观点误认为Windows系统频繁读写pagefile.sys就会产生磁盘碎片,实则不然。因为pagefile.sys文件一旦创立,在分区中的分布连续形式就固定下来,文件内部读写并不增加或减少pagefile.sys的文件大小。仅当页面文件告罄后系统创建的temppf.sys会带来磁盘碎片(内容摘自:虚拟内存- 维基百科,自由的百科全书)”。需要向用户解释一下temppf.sys文件,就是当物理内存空间与页面文件皆不够用时,系统会自动生成temppf.sys(temporary pagefile,临时页面文件)进行补足,temppf.sys的大小在页面文件的大小和最大值之间。
在Linux操作系统支持两种形式的交换空间:交换分区和交换文件。 交换分区:在磁盘中专门分出一个磁盘分区用于交换。交换文件:创建一个文件用于交换 交换空间大小没有规定特定的值,如果物理内存较小(小于512M字节)时,一般设置为物理内存的1.5倍到2倍。
从实质方面讲,一些大型应用程序由于对内存空间的占用量比较大,单独开辟一部分硬盘空间作为读取数据缓冲,这部分硬盘空间的实体就是应用程序创建的页面文件,“页面文件被用于存储那些已经被修改过的,虽然仍在被使用但又不得不写到磁盘的页面(内容摘自《深入解析Windows操作系统》「第4版」)”。比如Photoshop。这种设计可以缓解系统调度内存的压力,并提高软件运行速度。
首先了解虚拟内存碎片是如何产生的?
对虚拟内存有所了解的用户都明白虚拟内存的分配和管理都是由Windows的内存管理器来完成的,也就是说“虚拟存储系统的本质是开发一种动态加载的有效技术——在运行时刻将虚拟地址捆绑到物理地址”,其是一个动态变化的过程,及内存的分配和使用都是动态的。
同时由于Windows虚拟内存占用了硬盘空间,硬盘上非连续写入的文件会产生磁盘碎片,因此一旦用于实现虚拟内存的文件或分区过于零碎,会加长硬盘的寻道时间,进而影响应用程序的运行性能,降低计算机响应速度。
优化虚拟内存
一、减少虚拟内存产生碎片问题可采取升级内存的方式。
二、另外微软已经给用户提供了官方的解决方案。同时借鉴与Linux操作系统中交换分区的设置,将用于虚拟内存的部分置于单独的分区中,不影响其他的分区或文件,则基本杜绝了磁盘碎片带来的影响。
单独建立一个空白分区,在该分区设置虚拟内存,其最小值设置为物理内存的1.5倍,最大值设置为物理内存的3倍,该分区专门用来存储页面文件,不要再存放其它任何文件。之所以单独划分一个分区用来设置虚拟内存,主要是基于两点考虑:其一,由于该分区上没有其它文件,这样分区不会产生磁盘碎片,这样能保证页面文件的数据读写不受磁盘碎片的干扰;其二,按照Windows对内存的管理技术,Windows会优先使用不经常访问的分区上的页面文件,这样也减少了读取系统盘里的页面文件的机会,减轻了系统盘的压力。
前提在同一块物理磁盘上,建议不要将虚拟内存设置到除C盘(C盘作为系统分区时)之外的其他分区。用户应该以访问速度从高到底的顺序来进行选择。由于C盘位于磁盘为外围,线速度最大,读取数据速度最快,建议在C盘中建立单独的空白分区专供虚拟内存空间占用。
三、如果已经在一个分区上设置了页面文件,则不要在其它硬盘分区上不设置任何页面文件。“在同一物理磁盘上的多个交换分区就不应该被并行地使用,而应该以访问速度从高到底的顺序使用。所以在只有一块物理磁盘的时候,设置多个交换分区,并不能提高性能,反而可能会使性能下降。(内容摘自:虚拟内存- 维基百科,自由的百科全书)”。
当然,若计算机上存在多块硬盘硬盘的话,则可以为块硬盘上都创建一个页面文件。当信息分布在多个页面文件上时,硬盘控制器可以同时在多个硬盘上执行读取和写入操作,从而系统性能将得到明显的提高。
四、将页面文件的“初始大小”和“最大值”设置为相同值不仅可以提升计算机运行性能,并且在很大程度上增加了磁盘的碎片程度。将二者设置为相同的值后“操作系统的处理过程中无需再扩展页面文件”(内容摘自《Windows XP Professional使用与开发详解》)。
如何整理虚拟内存碎片
        “一旦页面文件被打开了,在系统运行过程中它就不能被删除,因为System进程针对每个页面文件维护了一个打开的句柄。页面文件总是打开的,这一事实也说明了为什么内置的碎片整理工具无法在系统运行的时候整理文件碎片了”(内容摘自深入解析Windows操作系统》「第4版」)。
要整理页面文件,首先将页面文件从原先所在的驱动器移动到其他驱动器,然后对原来驱动器进行整理,最后再将页面文件移回到原驱动器上,此时页面文件就会存放在连续的磁盘空间中了。
另外也可需要来自微软官方专业的免费虚拟内存整理工具Pagedefrag。相比上述方法,通过软件自动整理页面碎片要快捷得多。
PageDefrag采用先进的碎片整理技术,“它使用了其他的第三方碎片整理工具相同的方法 ——它在引导过程中的早期,在会话管理器打开页面文件之前运行了碎片整理过程(内容摘自深入解析Windows操作系统》「第4版」)”。
此外,它重新整理事件日志文件和Windows 2000/XP休眠文件。
        虚拟内存整理工具Pagedefrag应用非常简单。具体操作如下:
        Pagedefrag可在http://technet.microsoft.com/en-us/sysinternals/bb897426微软官网进行下载,安装包为70KB。
        完成下载后,双击PageDefrag压缩包,只提取pagedfrg.exe从zip文件的应用程序,即可打开PageDefrag主界面。笔者考虑到页面文件碎片可能程序影响磁盘性能的主要因素,所以建议用户选择“Delragment every boot(每次启动时执行碎片整理)”单选框。在这里需要提醒用户的是PageDefrag运行前,确保页面文件的位置在C盘(系统盘),否则在安装PageDefrag后在将页面文件的位置在进行调整时,在引导过程中会出现不必要的麻烦。在安装点击“OK”按钮并重新启动Windows。
当Windows启动时加载,PageDefrag会自动运行,并完成文件碎片整理工作,完成后加载完整Windows。
        在此过程中,PageDefrag处理每个页面文件并在引导时将文件名及其碎片整理结果显示在屏幕上。
提醒用户的是,(在某些情况下,PageDefrag可能在无法一个或多个文件中减少碎片时,会在启动时显示为蓝屏In some cases PageDefrag may be unable to reduce fragmentation on one or more of the files, and it will indicate so on the boot-time Blue Screen.)。这主要是由于页面文件所在分区剩余空间过小导致的,或由于磁盘存在的碎片过多导致的。为获得最佳效果,微软官方建议用户PageDefrag程序与专门磁盘碎片整理工具相结合使用。
经过检测,用PageDefrag工具整理页面碎片之后,可以发现Windows的运行速度要比以前快上很多,Windows并且也比以前更趋于稳定。
提醒用户是,来自互联网的一些计算机的应用操作技巧认为,出于降低C盘碎片的目的,建议将虚拟内存设置为其他分区中,如果前提在一个物理硬盘内的不同分区。上述完全是伪技巧,因为C盘做为默认的系统盘,硬盘读写最频繁的就是系统文件和页面文件。而硬盘读写时最耗时的操作是什么呢?是磁头定位!而同一分区内的磁头定位无疑要比跨分区的远距离来回定位要节省时间!所以,系统盘内的虚拟内存(系统默认值)是执行最快、效率最高的。
如何有效防止虚拟内存碎片
建议将“初始值”大小设置足够大,推荐分页文件的最小容量,也就是初始值为物理内存的1.5倍,将初始值的两倍作为最大容量。否则,如果初始值过小,Windows可能扩大分页文件,以补偿额外的分页活动。动态扩展分页将导致碎片化。分页文件将分散在整个磁盘中,破坏了Windows在启动时连续空间中的创建,不可避免地增加了Windows得开销,导致计算机运行性能降低。
3、内存碎片方面
        经过对磁盘碎片的阐述,有人会问我,内存方面是否存在“碎片”。当然有。“系统初启后,内存中出操作系统区之外,其余空间为一个大的空闲区,当有程序要求装入内存运行时,系统从该空闲区中划分一块与程序大小相同的区域进行分配,当系统运行一段时间后,随着一系列内存分配和回收,原来的一整块大空闲形成若干占用和空闲区相同的布局(内容摘自《操作系统教程》 陈向群等编)”。上述所涉及到的空闲块被称为碎片。内存上存在的“碎片”看似是在布局分配不够均匀,是由于“随着这些进程经历了工作集的修剪和增长,它们的‘从虚拟内存到物理内存的映射’将会变得非常碎(内容摘自《深入解析Windows操作系统》「第4版」)“。但这种分布不够均匀必要时也需要所谓的“偶尔的”整理工作,如频繁地进行的整理内存碎片整理的话会直接导致内存与磁盘互相传递数据过于频繁,进而降低计算机的运行性能,在下文中会有更为详细地讲述。
“经过一段时间的分配回收后,内存中存在很小的空闲块,它们每一个都很小,不足以满足分配内存的要求,但其总和却和却可以满足程序的分配要求(内容摘自《操作系统教程》 陈向群等编)”。所以系统在“必要时”需要连续的内存空间供更多程序使用,更好的保证程序的持续运行。SweepRAM内存管理工具在使系统中的进程得到连续可用内存空间方面做的相当出色。它最大的作用是把所有进程的工作集清空,从而计算机获得更多可用连续内存空间。 “有了连续可用的内存,在一种情形下可以导致性能的提高:为了尽可能地使CPU内存高速缓存的行为最为理想,内存管理器使用一种称为页面着色(page coloring)的机制,以确定将空闲列表或零化列表中的哪个页面分配给一个进程(内容摘自《深入解析Windows操作系统》「第4版」)”。
“所谓工作集是指进程已映射的物理内存部分(即这些内存块全在物理内存中,并且 CPU 可以直接访问),还有一部分不在工作集中的虚拟内存则可能在转换列表中(CPU 不能通过虚地址访问,需要 Windows 映射之后才能访问),还有一部分则在磁盘上的页面文件里。工作集在进程运行时会被 Windows 自动调整,频繁访问的页面(4KB 的块)会留在内存中,而不频繁访问的页面在内存紧张时会被从工作集中移出,暂时保存在内存中的“转换列表”中,或者进一步换出到页面文件中。当应用程序再次访问某一页面时,操作系统会将它重新加回工作集中(内容摘自:虚拟内存-百度百科)“。
另外一种情形,SweepRAM扩大可用内存空间时,它是在迫使其他进程的数据及代码换出物理内存,部分以页面文件的形式写入到磁盘。“RAM优化器的工作原理是,先申请大量的虚拟内存,然后释放这部分内存空间(内容摘自《深入解析Windows操作系统》「第4版」)。”
列举一个简单的例子,如果用户在运行Firefox浏览器,那么,所打开的标签页、扩展、模板及其高级设置为Firefox的工作集的一部分,在运行SweepRAM内存优化前这些数据驻留在物理内存上,而优化之后如用户再想切换到之前打开标签页时,这些网页数据需要从磁盘上读取出来,出现了读取延迟现象。这样直接会导致磁盘读写工作增加及磁盘碎片增多的可能。在运行SweepRAM也考虑到上述问题,将其写入到Windows系统的“任务计划”中,采取了一种比较适中的频率(大约 35至40 分钟一次)来自动反复运行,可以将各进程的工作集清空,而之后各进程的工作集会慢慢恢复。这样可以保持更好的工作集平衡,从而提高系统运行性能。不可否认微软在优化内存管理上的贡献,“在通常情况下,Windows XP用自动启用‘内存页面调度’功能,将内存中的片段写入硬盘,这样做的好处是可以随时清空内存中的碎片有利于应用程序的运行(内容摘自《电脑系统 软件 硬件优化精解》)”,具体开启步骤如下,进入HKEY_LOCAL_MACHIN\ESYSTEM\CurrentControlSet\Control\Session Manager\Memory Management分支,将右侧窗口下的“DisablePagingExecutive”的DWORD值设置为“0”即可。“常识告诉我们,如果RAM优化器是可能的(并且能够有这么多如此小巧的新贵程序来实现),那么Microsoft的开发人员早就将这些技术集成到内核了(内容摘自《深入解析Windows操作系统》「第4版」)”。
SweepRAM适用于 Windows 2000/XP/2003操作平台,可在http://dl.pconline.com.cn/download/53051.html进行下载。将下载SweepRAM安装包进行解压缩,提取vb6fr.dll复制到C:\WINDOWS\system32(C:\为系统盘),SweepRAM运行时要调用该动态链接文件,然后双击SweepRAM主执行文件即可完成安装。
还有对于低配置内存的用户来说,更多用户可能会寄托于第三方内存优化程序。想法可以理解,但是不要过分倾向于第三方内存管理工具,因为“内存管理器已经处理了所有必要的内存优化(内容摘自《深入解析Windows操作系统》「第4版」)”,所以通过升级内存空间的方式来提升计算机运行性能才是最根本的解决措施。“总之,常识告诉我们,如果RAM优化器是可能的(并且能够由这么如此小巧的新贵程序来实现),那么Microsoft的开发人员早就将这些技术集成到内核中了(内容摘自《深入解析Windows操作系统》「第4版」)”。所以如何从根本实现更加有效地“运作”及管理内存,其实现措施是将操作系统更新到最新版本。

PCOS系统下载站:http://zhuangji.wang

该用户从未签到

发表于 2015-4-29 21:12 | 显示全部楼层
mark下,有空看看,学习一下
PCOS系统下载站:http://zhuangji.wang

该用户从未签到

发表于 2015-4-30 11:47 | 显示全部楼层
路过,学习一下路过,学习一下路过,学习一下路过,学习一下路过,学习一下路过,学习一下路过,学习一下路过,学习一下路过,学习一下路过,学习一下
PCOS系统下载站:http://zhuangji.wang

本版积分规则