查看: 9095|回复: 33
收起左侧

[讨论] 清理内存值得么?空闲内存越多Windows就会越快?

  [复制链接]
long_yue
发表于 2012-10-22 12:39:42 | 显示全部楼层 |阅读模式
本帖最后由 long_yue 于 2012-10-22 16:19 编辑

1空闲内存越多Windows8越快?

  很多年来我们都习惯了这样一条结论,空闲内存越多Windows就会越快,于是在该思路的“光辉指引”下,很多网友都安装了所谓的内存优化器,有事没事也要点击两下。看着进度条瞬间变长,似乎一下子找到了心里安慰(嗯!电脑又快了,又快了……)。然而事实真的如此么?
  很可惜,在尝试了N款内存优化软件后,笔者沮丧地发现自己的电脑非但没快,反而比以前更迟钝了,具体表现就是很多软件的载入时间明显加长。听着硬盘呲牙咧嘴地怪叫,俺不禁在想,究竟是内存软件出了问题?还是这条广为传颂的“优化秘籍”坑了爹?而这便是本期流言终结者即将讨论的话题——空闲内存真的能让电脑变快么?
3014872_1.jpg
图1 空闲内存越多,电脑越快么?
一. 快速通道
  对于目前主流的Win7或Win8系统来说,只要不是内存低得离谱(1GB以下),任何情况下都不应使用内存优化软件,更不要试图关闭SuperPrefetch服务。因为现代系统的一个目标就是不让内存白白空闲,它会利用一切可以利用的空闲空间来为软件加速。不要担心你的内存小会不适合开启SuperPrefetch,系统会根据物理内存自动调整用量。一句话,内存大多用些,内存小少用些!
二. 完整通道
1. 谁占了我的内存?
  回答这个问题前咱们先来看一看,在一款正常系统中究竟是谁占据了大量内存。众所周知,内存是电脑中运行软件的必经场所,因此这里的一个大头就是各类运行中的软件。除此之外,系统进程、驱动程序也会占据不少的内存,堪称内存占用的第二把交椅。那么老三呢?没错!就是时下各类商业软件的自启动模块,随着这两年商业竞争日趋激烈,很多厂商都想在操作系统中插上一脚,以免稀里糊涂地被别的对手“挤掉”!
  那么除此之外,我们的内存是否可以清静了呢?别急!咱们先来回顾一下Windows的历史。
  2001年一款全新的操作系统诞生于世,这就是其后影响巨大的WinXP。和先前的9X系统相比,XP增加了很多新功能,其中一条最吸引人的就是号称文件预读取的“Prefetch”。
  严格来说Prefetch本身就是一项系统优化技术,通过监视用户操作,将一些最常用文件预读到内存,由此来加快常用软件的启动速度。也正是从这时开始,256MB、512MB等大容量内存(嗯,在当时还是挺大的~)开始进入装机用户配置单,很多电脑压根儿用不到如此大的空间,内存闲置率的激增最终促使了微软一改沿用多年的内存管理思路——由原来的“尽量空出内存”到“别让内存白白闲着”。
3014872_2.jpg
图2 XP的Prefetch
  2007年的Vista发布可以算是微软的又一次里程碑,虽然按现在的眼光来看,Vista无论销售情况还是用户口碑都不尽如人意,但它却开创了很多全新思路 。
  在Vista系统中,你会发现内存的占用非常之大,原本可以让XP运行爽爽的512M内存根本跑不起它,甚至1GB内存也不过给你留个100~200MB照顾一下面子。而导致这一结果的最根本原因,就是全新加入的——SuperPrefetch。
  SuperPrefetch是Prefetch的升级版,最大变化就是能够智能化实现预读。举个例子吧,假如你每天都是中午12:00吃饭,下午1:00开机直接打开Word,那么几次后Vista便会熟悉这一规律,下午开机直接将Word预读到内存以加快启动速度。
  正是由于这个原理,Vista中的内存大部分被预读文件所“吃掉”,这也就是为何Vista空闲内存较少,但软件启动却很快的原因。
3014872_3.jpg
图3 SuperFetch


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


2. 清理内存值得么?
  看到这儿大家也许明白,虽然Vista(Win7、Win8同理)的内存占用看似很大,但与9X时代已经不可同日而语,大量预读文件非但没有让系统变慢,反而加快了日常软件的启动速度。
  那么如果我们通过内存回收器清理一下内存呢?很明显,人家费了半天劲儿积累好的缓存被你一下给删除了,软件启动自然变慢。
3014872_4.jpg
图4 盲目“整理”不可取!
  如果你不信上面的分析,不妨来做下面这个小试验,分别用秒表计量Win8原始状态与清除SuperPrefetch缓存后(SuperPrefetch服务同时关闭)的软件启动用时,然后放到一起进行对比。几分钟后你便明白,取消SuperPrefetch以及使用内存整理器该是一件多么愚蠢的事儿了。
3014872_5.jpg
图5 关闭SuperPrefetch前后启动用时对比
3. 内存会撑爆么?
  虽然刚才的测试抵消了一部分人的疑惑,但我相信肯定还有网友顾忌另一个问题,那就是剩余内存还够不够软件使用。不可否认,并不是每一位用户都有着令人艳羡的配置,很多几年前甚至十几年前的电脑依然还在超期服役。他们完全有理由问一句,如果内存都被SuperPrefetch占据,那么软件又该去哪里运行?
  其实这个问题早已在微软的考虑范围之内,如果大家仔细观察的话,就会发现这样一个特点,那就是操作系统能够根据物理内存自动调整占用。一句话,你的内存大它就多占些,你的内存小它就少占些,总之系统会自动在工作效率与软件运行间达成一个平衡。
  测试中我们选取了三台电脑,其中变化的只有内存容量,一个是已经过气的1GB内存,另一个是相对主流的2GB内存,第三个则是有点变态的512MB内存。一般来说512MB内存是不建议安装Win8的,但为了给大家一个直观的印象,俺还是顶着压力上了。
3014872_6_thumb.jpg
图6 不同物理内存Win8占用对比
  最终结果一目了然,可以看到无论是面对三台电脑中的哪一个,Win8都为其预留了足够空间,以保证软件正常运行。尤其是第三组512MB内存,虽然Win8自身的运行已经非常缓慢,但依然可以正常完成用户交给的任务。
  在笔者一个多小时的运行之中,除了感觉速度慢些,并没有发生系统出错甚至崩溃现象。应该说这样的表现,早已超出了笔者的预料。
3014872_7.jpg
图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会自动给其让道,绝对不会有争抢资源的现象。当然硬盘狂转确实不那么讨人喜欢,不过为了系统性能,忍了吧!



转自太平洋电脑网

评分

参与人数 1经验 +10 收起 理由
陌上~烟雨遥 + 10 版区有你更精彩: )

查看全部评分

wwdboy
发表于 2012-10-22 13:10:13 | 显示全部楼层
很久不用内存整理软件了
woys123
发表于 2012-10-22 13:30:06 | 显示全部楼层
学习了,现在我一般是运行一次优化软件就把它关掉,一般清理垃圾时用一下
内存整理以前常用的说,看着内存空闲那么多,好有满足感,结果没想到软件启动速度更慢了
long_yue
 楼主| 发表于 2012-10-22 13:31:51 | 显示全部楼层
woys123 发表于 2012-10-22 13:30
学习了,现在我一般是运行一次优化软件就把它关掉,一般清理垃圾时用一下
内存整理以前常用的说,看 ...

是啊,以前我还纳闷,也没开几个程序怎么内从占用一直是80%多
woys123
发表于 2012-10-22 13:38:13 | 显示全部楼层
long_yue 发表于 2012-10-22 13:31
是啊,以前我还纳闷,也没开几个程序怎么内从占用一直是80%多

我不开chrome内存占用在40~50左右,开了chrome后飙升到80,还降不下来
long_yue
 楼主| 发表于 2012-10-22 13:46:02 | 显示全部楼层
我的360急速现在88%
youmingshi
发表于 2012-10-22 13:46:04 | 显示全部楼层
其实。。。我几个月前就不用优化软件和内存软件了。。。

清理垃圾一般几个月一次。。。而且不用asc那类大杀器。。
18621147814
发表于 2012-10-22 14:11:29 | 显示全部楼层
图片全都挂了
long_yue
 楼主| 发表于 2012-10-22 14:17:45 | 显示全部楼层
18621147814 发表于 2012-10-22 14:11
图片全都挂了

没有啊,只有第一幅没了,但无关紧要
大号跳蚤
发表于 2012-10-22 14:59:15 来自手机 | 显示全部楼层
7和8的内存管理已经做得非常好了,据了解是被称为按需调页的动态内存管理机制,也就是说当剩余内存空间不足的时候,内存管理器会从其它程序的工作集中调用部分,清零,然后分配给当前程序!而内存管理软件就是钻的这个空子,短时间向内存管理器提交大的内存请求,然后产生大量的页面错误,而此时内存管理器又会增大其工作集,然后内存优化工具它又将其工作集部分释放…看起来可用空间是增加了,但之前被内存管理器用来增加其工作集的部分却来自于其它程序…也就是说它的释放内存是以牺牲其它程序的稳定性为代价的… 如果用之不慎很容易导致用户数据丢失,各种不稳定…

评分

参与人数 1经验 +5 收起 理由
陌上~烟雨遥 + 5 积极参与讨论,提出客观观点

查看全部评分

您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-2-1 19:49 , Processed in 0.139895 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表