谈到虚拟内存,不能不涉及到页面文件(pagefile.sys),所谓页面文件,它的功能是将一部分硬盘空间设置为虚拟内存,从而扩大了可用"内存"空间,以此来满足程序的运行要求。
尽管由于硬盘的读取、传输速率等远远低于内存的速率,容易导致系统工作效率的降低和系统反应的延迟,但相对于花钱买硬件提高系统性能来说,这种以时间和效率来换取性能的做法还是非常不错的:你可以一分钱不花的拥有1G的虚拟内存,如果真正去买这么1G的内存,你要花多少钱?而且问题的关键是:你的主板能不能支持1G的物理内存?
Win9x通常是利用安装目录中的Win386.swp这个交换文件来实现虚拟内存的创建。但Win2000采用页面文件的方式来实现虚拟内存的创建。通常情况下,大家在使用时都是按照系统默认的设置让Windows管理虚拟内存,这样做比较方便,但Windows为了兼容绝大部分计算机配置,缺省设置的管理方式通常比较保守,因此它的工作效率有时偏低。熟练用户可以对Windows的虚拟内存管理进行优化处理(如自行定义交换文件的大小、位置等),来尽量获得比较高的工作效率。
Win2000中关于页面文件的管理项目在控制面板中,进入"控制面板"后选"系统",然后在"高级/性能选项"中选择"更改",就进入"虚拟内存"的设置。页面中显示着当前系统所设置的页面文件的大小、所在位置、磁盘可用空间以及Windows的推荐设置值等,可以结合页面文件的这些属性来优化设置。
一、 页面文件的大小
Windows建议页面文件的最小值(就是初始大小),应该是当前系统内存容量再加上12MB,若计算机系统拥有256MB内存的,就要将页面文件的最小值设置为268MB,这样才能让操作系统在崩溃或死机前将内存中全部的内容复制到硬盘上。对于内存容量小于256MB的用户,则建议将页面文件的最小值设得更大些,应该大于内存容量加12MB的数值:
① 使用128MB或者更少内存的计算机用户,应该将当前系统内存容量的1.75倍设置为页面文件的最小值;
②那些内存容量在128MB和256MB之间的用户,可以将当前系统容量的1.5倍设置为页面文件的最小值。
当然,将页面文件的最小值设置为大于这些理论值,对于整个系统的运行是没有什么影响的,而且应该会更好些,唯一的损失也许也就是硬盘可用空间会相应的减少。假如你的硬盘空间比较紧张的话,在设置页面文件时,可以让它不小于系统内存的3/4,这样就可以保证系统比较稳定地运行了。如果你需要经常装卸大软件,开很多任务,那你还是用回缺省值比较安全,否则将经常性地引起系统崩溃。
至于页面文件的最大值,则可以设置得越大越好,通常建议将它设置为最小值的2到3倍。你不用在意它的具体设置值。和Win9X系统的页面文件管理相比,Win2000要"智能"得多,它的页面文件是可以自己动态设置的。它仅在系统需要时才会自动扩充页面的大小,这样可以避免页面文件占用太多的硬盘空间,并避免在复杂操作中因内存不足而出现错误。
二、 页面文件的存放位置
Win2000允许通过将页面文件分布到各个不同的物理硬盘上(注意是硬盘而不是分区)的方法来提高系统的执行性能。从理论上讲这样做的确是可行的,但要注意的是由于各硬盘间可能存在的寻道时间、传输速度等方面的差异而导致的系统性能的下降,因此应该尽量选择速度最快的硬盘来存放页面文件。
另外要注意的是,尽管Win2k也支持在同一硬盘多分区上分别建立页面文件,但这样做非但不能提高系统的性能,反而将明显地降低整个系统的工作效率,这是由于当操作系统需要读写页面文件时,如果需要读取的内容不在同一个分区的页面文件中时,硬盘磁头将频繁地在各个分区间移动,这将大大降低系统的运行效率。从实际的使用效果来看,这样做还不如将页面文件只集中存放到一个分区中来的好,因此,建议拥有多硬盘的人应该考虑以下的一些方案:
①多硬盘之间的速度差异不大,可以将页面文件分布到各硬盘上去;
②多硬盘之间的速度差异比较大,则应该将页面文件尽量存放到另外的速度较快的一个(或多个)硬盘上去。对于单硬盘的用户,如果硬盘可用空间允许的话,则应该尽量将页面文件的位置设置在同一个分区中。
三、 页面文件的连续性
页面文件的连续性在Win2000的相关设置中并没有相应的显示,但其实很有必要单独"拎"出来谈一谈。连续的页面文件的工作效率将比不连续的高很多,其中的原因和上面所说的不要将页面文件设置在同一硬盘多个分区的道理是一样的,也是由于硬盘磁头的移动问题,不连续的页面文件也将导致系统在使用虚拟内存时硬盘磁头频繁地在不连续的扇区间"跳"动,因此应该尽量保证页面文件的连续。
大家可以运行Win2000自带的"磁盘碎片整理程序"并选择其中的"分析"功能来查看页面文件在硬盘上的相应位置,其中"绿色"区域(系统文件)就是页面文件所在位置。也许有些人对于页面文件会出现不连续的情况表示怀疑,那么可以试试下面的操作:
如果你是双系统的话,可以先进入Win9X,将Win2000的页面文件Pagefile.sys剪切到其他分区或者硬盘中,然后再马上粘贴回去,重新启动系统到Win2000下,运行"磁盘碎片整理程序"分析一下,绿色的区域将被分割为大大小小不同的好几个区域,页面文件这时就是零碎不连续的。
尽管Win2000提供的"磁盘碎片整理程序"要比Win9X下的好用得多,但是对于不连续的页面文件它还是无法进行整理。要进行页面文件碎片整理的话,需要第三方的相应工具,如Speed Disk等。另外,如果你没有这些工具而且页面文件所在分区或者硬盘不是NTFS格式的话,可以参照测试页面文件不连续情况下的操作方法:
首先从双系统进入Win9X,然后将页面文件剪切到其他分区或者硬盘中,再用Win9X下的磁盘整理工具对相应的分区或者硬盘进行整理,等整理完毕后再将页面文件重新粘贴回去,就可以保证页面文件的连续性了。