Windows7内存管理机制Superfetch介绍( 二 )


四、 软调页和硬调页
相信大家都有过类似的经历 。当我开机后,第一次运行一个程序,就比如说是Word吧,可能需要5秒才能启动 。当我关闭后再开,也许只用2秒 。如果我不关闭,直接打开另外一个Word文件,那就更快了 。这是什么原因造成的呢?
当 我们开机后,工作集里面没有Word这个员工(页面),他还在家(硬盘)里面 。于是当我召唤他的时候,它才从家走到办公室(工作集) 。这样的过程就叫做硬 调页了,当然需要的时间长 。而当我们关闭了Word时候,他就被派往大厦的另一房间,我却马上再次召唤他,这时,另一个房间内的数据还没被清零,他便不用 从家里走来,而是直接从数据结构里面引入就可以了 。在不关闭这个程序Word的情况下,他也不用为其他程序让路的时候,它还存在于办公室(工作集)里面,召唤他的时候就会更快 。这样的“无需从硬盘中重新调用数据,而是将数据结构中的页面重新挂载到工作集中”的过程,便叫做软调页了 。
在了解了一些基本的概念之后,我们就开始讲解vista的新内存管理机制“”了 。总的来说,为我们带来了一下几点改进:
会将用户可能使用的应用程序页面利用内存可用空间进行预加载;
尽可能地避免系统发生从硬盘的页面调用;
让应用程序最快速度开启;
不会由于计算机长时间闲置而使突然使用变得响应迟缓;

Windows7内存管理机制Superfetch介绍

文章插图
在退出大型应用程序后会主动将之前***转移到虚拟内存中的页面重新调入内存当中;
一、进行程序页面预加载
其 实从上面的Word例子我们可以知道,当内存中有所需程序页面的时候会使程序启动变得更快 。而具有了学习的功能,自从第一次使用7时,就开始记录我们的使用习惯,将我们经常使用的程序的页面在开机后进行提前加载,那么当我们第一次开启程序的时候便可以获得像第 二次开启一样的速度了 。所以这些预加载的页面就会使得我们的内存占用变得多 。
网 上有许多教程或是软件针对XP的内存使用进行优化 。森木也提到说:“过去在 XP的系统环境中往往普遍存在一个概念,系统空闲时可用内存空间越多越好” 。而由于XP得内存管理机制并不是十分优秀,所以说即使优化地再好也无法良好的 利用大容量内存 。反之,真正想获得快速的程序启动速度就必须确保内存中有用户使用程序的内存页面 。(也就是说在正常范围内,7下面反倒内存占用越高越好 了)从而导致高内存使用,这也就是大家的一个误区了 。
在开机后进行预加载的时候,采用了vista中的低优先级,所以并不会对正常使用照成影响 。当我们打开程序的时候就直接可以从内存中调用页面了 。避免了硬调页,就会大大提升效率 。
下面的话就是为已经使用7的用户说的了
由于要在开机后进行预加载,所以建议大家不要关机 。尽量使用“休眠”或“睡眠”,这样的预加载内容就会保留 。从而提高速度和效率 。
二、积极的内存调配
在XP时代,也许你也有过类似的经历:当开始使用一些程序后,由于有事便离开了 。回来的时候却发现系统响应十分缓慢,特别糟糕 。这就是因为任意的后台调用 。
让 我们离开后,程序都处于不使用状态 。这时系统的一些后台程序,如磁盘整理、杀毒软件等程序就会“全速运行” 。导致我们使用的一些程序页面不得不被挤到了硬 盘虚拟内存中 。可是当这些后台程序完成任务后,XP系统并不会把之前被挤到虚拟内存的页面导回内存里 。于是在再次使用电脑时,系统才会手忙脚乱的进行临时 调配,甚至是硬调页 。导致程序响应极其迟缓 。