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