|
详解Vista/Win7内存管理,对于Windows Vista、win7的内存的使用,从XP升级的用户大多都觉得:系统空闲时空闲的内存应该越多越好。而到了7的时期(更精确的说是Vista之后),这一个本该转变的观念却还迟迟留在大家的记忆里。所以在此把win7新内存管理机制“Superfetch”介绍给大家,让大家理解win7内存占用大的原因。
Windows 7内存管理有何不同
“Superfetch”并不是一个新的技术,在Vista时期就已经开始采用,不过鉴于用过Vista的人数比较少,而XP时期的各种电脑技巧一直还不得人心,所以很多人都在疑问为何win7内存占用如此之大。
Superfetch内存管理机制会将用户可能使用的应用程序页面利用内存可用空间进行预加载;尽可能地避免系统发作从硬盘的页面调用;让应用程序最快速度开启;不会由于计算机长时间闲置而使忽然使用变得响应缓慢;在退出大型应用程序后会主动将之前被迫转移到虚拟内存中的页面重新 调入内存当中。这样看起来似乎专业了点,所以接着往下看,会很好地对这些特性进行了解。
为何第一次启动程序会觉得很慢?
相信大家都有过类似的经历。当我开机后,第一次运行一个程序,就比方说是word吧,可能需要.5秒才能启动。当我关闭后再开,或许只用2秒。假如我不关闭,直接打开另外一个Word文件,那就更快了。
这是什么原因形成的呢?
当我们开机后,工作集里面没有Word这个员工(页面),他还在家(硬盘)里面。于是当我召唤他的时候,它才从家走到办公室(工作集)。这样的 过程就叫做硬调页了,当然需要.的时间长。而当我们关闭了Word时候,他就被派往大厦的另一房间,我却马上再次召唤他,这时,另一个房间内的数据还没被清零,他便不用从家里走来,而是直接从数据构造里面引入就可以了。在不关闭这个程序Word的状况下,他也不用为其他程序让路的时候,它还存在于办公室(工作集)里面,召唤他的时候就会更快。这样的“无需从硬盘中重新调用数据,而是将数据构造中的页面重新挂载到工作集中”的过程,便叫做软调页了。大家都知道内存速度远远快于硬盘,所以“软调页”的使用就是第二次运行程序变得很快的原因了。
Windows 7内存占用大的原因
现在我们知道了当内存中有所需程序页面的时候会使程序启动变得更快。而win7中的“Superfetch”已经具有了学习的功能,自从第一次使用win7时,Superfetch就开始记录我们的使用习惯,将我们经常使用的程序的页面在开机后进行提早加载,那么当我们第一次开启程序的时候便可以取得像第二次开启一样的速度了。所以这些预加载的页面就会使得我们的内存占用变多。简单地说就是让所有程序操作在内存中进行,避免使用硬盘硬调页空间,这也就是为何觉得win7占用很大内存的原因。
查看预加载的内存
而在XP时期,或许你也有过类似的经历:当开始使用一些程序后,由于有事便分开了。回来的时候却发现系统响应非常迟缓,特别糟糕。这是由于XP的内存管理模式效率十分低下。
当我们分开后,程序都处于不使用状态。这时系统的一些后台程序,如磁盘整理、杀毒软件等程序就会“全速运行”,导致我们使用的一些程序页面不得不被挤到了硬盘虚拟内存中。可是当这些后台程序完成任务后,XP系统并不会把之前被挤到虚拟内存的 页面导回内存里。于是在再次使用电脑时,系统才会手忙脚乱的进行临时分配,甚至是硬调页。导致程序响应极端缓慢。所以看上去XP的空闲内存很多,事实上都 没起什么太大的作用。
Windows 7使用建议
任何人都希望通过优化的手段让自己的电脑运行速度到达最理想的状态,而内存又是影响电脑运行速度十分重要的要素,我们在理解了win7 的内存管理机制,再来介绍哪些方法可以给系统加速。
1、多使用休眠和睡眠
由于SuperFetch要在开机后进行预加载,所以建议大家不要关机。尽量使用“休眠”或“睡眠”,这样SuperFetch的预加载内容就会保留。从而提高速度和效率。
2、使用ReadyBoost
很多从XP升上来的用户由于系统的内存不够大,所以无法全面的发挥SuperFetch的功能。我们可以使用“ReadyBoost”功能来帮 我们解决这个难题。
只需契合条件的闪存都可以加速我们的系统。ReadyBoost功能是利用闪存的容量作为SuperFetch预加载页面的贮存空间。但由于微 软采用了特殊的算法,所以并不会影响闪存的寿命。还有,用于ReadyBoost的闪存最好为物理内存大小1~2.5倍。假如系统物理内存足够大的话,就 没有必要使用ReadyBoost了。右键点击U盘盘 符选择属性,切换到readyboost一栏,速度到达标准的U盘都可以开启这个功能。
不是所有U盘都能使用
通过对SuperFetch的理解,希望更多的朋友进入使用win7的队伍中来。其实同为Windows,不同又能到哪里呢?不习惯也就是一时的。毕竟,经过了Vista的锤炼,win7也会变得更成熟!
Tips:什么是工作集
我们可以简单的将内存了解为“数据构造”+“工作集”的一个分离,简单的说,应用程序在运行过程中进程所占用内存中的工作空间就叫做工作集。
|
|
|
|
|
|
|