快讯

流言终结者一 系统空闲内存越多就越快?

2012-10-04 18:09  出处:pconline 原创  作者:唐山居人[专栏]   责任编辑:caoweiye 

1空闲内存越多Windows8越快?回顶部

  很多年来我们都习惯了这样一条结论,空闲内存越多Windows就会越快,于是在该思路的“光辉指引”下,很多网友都安装了所谓的内存优化器,有事没事也要点击两下。看着进度条瞬间变长,似乎一下子找到了心里安慰(嗯!电脑又快了,又快了……)。然而事实真的如此么?

  很可惜,在尝试了N款内存优化软件后,笔者沮丧地发现自己的电脑非但没快,反而比以前更迟钝了,具体表现就是很多软件的载入时间明显加长。听着硬盘呲牙咧嘴地怪叫,俺不禁在想,究竟是内存软件出了问题?还是这条广为传颂的“优化秘籍”坑了爹?而这便是本期流言终结者即将讨论的话题——空闲内存真的能让电脑变快么?

Win8空闲内存越大越快?
图1 空闲内存越多,电脑越快么?

一. 快速通道

  对于目前主流的Win7或Win8系统来说,只要不是内存低得离谱(1GB以下),任何情况下都不应使用内存优化软件,更不要试图关闭SuperPrefetch服务。因为现代系统的一个目标就是不让内存白白空闲,它会利用一切可以利用的空闲空间来为软件加速。不要担心你的内存小会不适合开启SuperPrefetch,系统会根据物理内存自动调整用量。一句话,内存大多用些,内存小少用些!

二. 完整通道

1. 谁占了我的内存?

  回答这个问题前咱们先来看一看,在一款正常系统中究竟是谁占据了大量内存。众所周知,内存是电脑中运行软件的必经场所,因此这里的一个大头就是各类运行中的软件。除此之外,系统进程、驱动程序也会占据不少的内存,堪称内存占用的第二把交椅。那么老三呢?没错!就是时下各类商业软件的自启动模块,随着这两年商业竞争日趋激烈,很多厂商都想在操作系统中插上一脚,以免稀里糊涂地被别的对手“挤掉”!

  那么除此之外,我们的内存是否可以清静了呢?别急!咱们先来回顾一下Windows的历史。

  2001年一款全新的操作系统诞生于世,这就是其后影响巨大的WinXP。和先前的9X系统相比,XP增加了很多新功能,其中一条最吸引人的就是号称文件预读取的“Prefetch”。

  严格来说Prefetch本身就是一项系统优化技术,通过监视用户操作,将一些最常用文件预读到内存,由此来加快常用软件的启动速度。也正是从这时开始,256MB、512MB等大容量内存(嗯,在当时还是挺大的~)开始进入装机用户配置单,很多电脑压根儿用不到如此大的空间,内存闲置率的激增最终促使了微软一改沿用多年的内存管理思路——由原来的“尽量空出内存”到“别让内存白白闲着”。

Win8空闲内存越大越快?
图2 XP的Prefetch

  2007年的Vista发布可以算是微软的又一次里程碑,虽然按现在的眼光来看,Vista无论销售情况还是用户口碑都不尽如人意,但它却开创了很多全新思路 。

  在Vista系统中,你会发现内存的占用非常之大,原本可以让XP运行爽爽的512M内存根本跑不起它,甚至1GB内存也不过给你留个100~200MB照顾一下面子。而导致这一结果的最根本原因,就是全新加入的——SuperPrefetch。

  SuperPrefetch是Prefetch的升级版,最大变化就是能够智能化实现预读。举个例子吧,假如你每天都是中午12:00吃饭,下午1:00开机直接打开Word,那么几次后Vista便会熟悉这一规律,下午开机直接将Word预读到内存以加快启动速度。

  正是由于这个原理,Vista中的内存大部分被预读文件所“吃掉”,这也就是为何Vista空闲内存较少,但软件启动却很快的原因。

Win8空闲内存越大越快?
图3 SuperFetch

 

相关阅读:

流言终结者五 虚拟内存现在还有用吗?

http://www.pconline.com.cn/win8/softnews/1210/3036518.html

流言终结者四 一条命令就能让开机加速?

http://www.pconline.com.cn/win8/softnews/1210/3030321.html

流言终结者三 关了索引Win8就会变快?

http://www.pconline.com.cn/win8/softnews/1210/3032514.html

流言终结者二 Win8还需要ReadyBoost么?

http://www.pconline.com.cn/win8/softnews/1210/3017888.html

 

2实测:内存整理竟不快反慢回顶部

2. 清理内存值得么?

  看到这儿大家也许明白,虽然Vista(Win7、Win8同理)的内存占用看似很大,但与9X时代已经不可同日而语,大量预读文件非但没有让系统变慢,反而加快了日常软件的启动速度。

  那么如果我们通过内存回收器清理一下内存呢?很明显,人家费了半天劲儿积累好的缓存被你一下给删除了,软件启动自然变慢。

Win8空闲内存越大越快?
图4 盲目“整理”不可取!

  如果你不信上面的分析,不妨来做下面这个小试验,分别用秒表计量Win8原始状态与清除SuperPrefetch缓存后(SuperPrefetch服务同时关闭)的软件启动用时,然后放到一起进行对比。几分钟后你便明白,取消SuperPrefetch以及使用内存整理器该是一件多么愚蠢的事儿了。

Win8空闲内存越大越快?
图5 关闭SuperPrefetch前后启动用时对比

3. 内存会撑爆么?

  虽然刚才的测试抵消了一部分人的疑惑,但我相信肯定还有网友顾忌另一个问题,那就是剩余内存还够不够软件使用。不可否认,并不是每一位用户都有着令人艳羡的配置,很多几年前甚至十几年前的电脑依然还在超期服役。他们完全有理由问一句,如果内存都被SuperPrefetch占据,那么软件又该去哪里运行?

  其实这个问题早已在微软的考虑范围之内,如果大家仔细观察的话,就会发现这样一个特点,那就是操作系统能够根据物理内存自动调整占用。一句话,你的内存大它就多占些,你的内存小它就少占些,总之系统会自动在工作效率与软件运行间达成一个平衡。

  测试中我们选取了三台电脑,其中变化的只有内存容量,一个是已经过气的1GB内存,另一个是相对主流的2GB内存,第三个则是有点变态的512MB内存。一般来说512MB内存是不建议安装Win8的,但为了给大家一个直观的印象,俺还是顶着压力上了。

Win8空闲内存越大越快?
图6 不同物理内存Win8占用对比

  最终结果一目了然,可以看到无论是面对三台电脑中的哪一个,Win8都为其预留了足够空间,以保证软件正常运行。尤其是第三组512MB内存,虽然Win8自身的运行已经非常缓慢,但依然可以正常完成用户交给的任务。

  在笔者一个多小时的运行之中,除了感觉速度慢些,并没有发生系统出错甚至崩溃现象。应该说这样的表现,早已超出了笔者的预料。

Win8空闲内存越大越快?
图7 虚拟内存也是有益补充

  此外另一个几被大家忽视的问题,就是XP时代还很火热的虚拟内存,很多用户都希望将它关闭以节约磁盘占用。但请不要忽略这点,如果你的内存不大(2GB以下),最好还是交由Windows自行管理。因为一旦碰上个让内存飙升的大家伙(比如3ds Max、VMWare等),再强悍的系统也只能望“存”兴叹,一个出错提示就会搞掉之前所有打开的软件,保不齐再来个数据丢失,不值得呀!

  写在最后

  空闲内存越小运行越快,相信这样的结论肯定颠覆了很多人的眼球。但事实胜于雄辩,随着Vista、Win7、Win8等新一代操作系统的流行,内存空闲率早已不是决定系统快慢的主要原因。

  当然这样说,并不意味着新装机系统都无需优化,事实上即便是最新款的Windows8,也没有实现根据用户使用环境智能分配资源,很多基础服务都是普通用户所不需要的。禁用无用服务,不但可以提高系统启动速度,还能节省内存资源,而这样做的实际意义要远比删除个SuperPrefetch服务实用得多!

几个问题解答——

  1. Superfetch会让笔记本更费电么?

  笔记本用户可能对这个问题比较关注,既然SuperPrefetch的原理是将文件提前读入内存,那么自然会增加硬盘访问,频繁的读写是否会让笔记本更费电呢?

  其实这个问题我们不妨换个思路,假如电脑关闭了SuperPrefetch,那么运行软件时是否需要读取同样的硬盘数据?两者相比,一个节省了启动时间读取硬盘,另一个没有节省启动时间也要读取硬盘,孰优孰劣相信大家已经一目了然。

  2. SSD设备是否需要SuperPrefetch?

  随着SSD逐渐走下王坛,这个问题也开始被大家关注。笔者认为SuperPrefetch的最终目标是在低速的机械硬盘与高速的物理内存间建立一个“缓冲区”,而且这个缓冲区还兼有解决机械硬盘随机读取慢的作用。

  相比之下SSD在随机读写速度上早已不是问题,SuperPrefetch实际上已经起不到应有的作用。再者由于SSD普遍存在的寿命问题,建议SSD用户还是关闭SuperPrefetch为好!

  3. SuperPrefetch是否会和普通软件抢资源?

  有网友认为SuperPrefetch会导致硬盘无故狂转,因此在SuperPrefetch工作时其他软件的运行就会变慢。没错!很多在Win7或者Win8系统上见到的硬盘狂转(当然也可能是其他服务,如索引服务等)都和SuperPrefetch有关系!但笔者想说的是,从Vista时代开始,微软就引入了一项I/O优先级概念,其中一些非实时性系统组件默认都是采用低优先级的。

  这句话的一般概述就是,当用户程序工作时SuperPrefetch会自动给其让道,绝对不会有争抢资源的现象。当然硬盘狂转确实不那么讨人喜欢,不过为了系统性能,忍了吧!

点击进入Windows 8中国发布会直播专题
点击进入Windows 8发布会现场直播专题

点击进入Windows 8专区
点击进入Windows 8专区

IT热词搜索 来源:360新闻
软件论坛帖子排行