admin 发表于 2010-11-22 08:19

Windows 7操作系统内存占用大的原因

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

单于一只鞋 发表于 2010-11-22 08:24

管理发的总是没人顶.

labazhou 发表于 2010-11-22 08:32

我也来顶顶!

zhqlzl 发表于 2010-11-22 08:52

技术分析帖子 顶起来

zhangbest 发表于 2010-11-22 08:54

学习了~~~~~~

van_zaya 发表于 2010-11-22 09:12

学习了!以后关机少点儿?

longjing2000 发表于 2010-11-22 09:29

没做优化,也很快。。。。。。

primroses 发表于 2010-11-22 09:32

自从变成大内存后就再也没有关心过内存不够用了
真是多花钱多享受啊

zzhsc0 发表于 2010-11-22 10:12

学习 ~!!

kiki2314 发表于 2010-11-22 10:14

学习。。

poorguyhou 发表于 2010-11-22 18:07

好好学习,天天向上。

z2000 发表于 2010-11-22 18:44

和Superfetch 没多少关系吧? SF关了,Win7 一样占内存很多。

vanloove 发表于 2010-11-22 21:51

2G内存,40G的c盘,如果休眠的话,要多久时间??
开关多少次机了···

lipengit 发表于 2010-11-23 09:50

顶下技术贴:D

misterben 发表于 2010-11-23 10:32

准备更换4G内存了,终于顶不住了。

谍杀 发表于 2010-11-23 10:44

这样说Win7对硬盘保护更好了,呵呵

wookimsong 发表于 2010-11-23 16:44

WIN7用起来就是快

fengyeqiuyu 发表于 2010-11-23 19:05

一般推荐是多少内存呢?另外有没有人比较过和linux的稳定性?

153590799 发表于 2010-11-23 21:25

前天刚用上8g内存,目前确实如楼主所说啊

shuyizi 发表于 2010-11-24 14:54

技术分析帖子 学习中

lijxde 发表于 2010-11-24 17:57

学习了~~~~~~

嗷嗷叫 发表于 2010-11-25 14:13

感谢分享,好贴要给力挺

战地黄花 发表于 2010-11-25 16:18

好文,学习了。

txx 发表于 2010-12-9 12:37

学习了。。

发表于 2010-12-9 14:05

目前用WIN7来看,超过2.5G 内存,用SSD盘,整体使用非常舒服。

xiongcn 发表于 2010-12-20 00:41

说的不错,但是,这个内容也太老了吧,从vista就有的东东了。

alphena 发表于 2010-12-20 17:21

顶顶更健康
页: [1]
查看完整版本: Windows 7操作系统内存占用大的原因