经验分享内存整理有必要吗

内存整理有必要吗?从XP时代开始很多用户就养成了开机自启内存整理的习惯,先说说内存整理的优点,如果用户在网络上大量浏览图片信息,打开内存整理有助于让内存释放加快而更快显示图形。但如果用户在玩游戏的过程中开启内存整理程序,则可以会出现游戏自动结束,或强烈卡顿现象。

内存整理有必要吗?内存释放的越多系统运行速度就越快?

内存整理有必要吗?

空闲内存越多Windows越快?

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

很可惜,在尝试了N款内存优化软件后,笔者沮丧地发现自己的电脑非但没快,反而比以前更迟钝了,具体表现就是很多软件的载入时间明显加长。

内存整理有必要吗?内存释放的越多系统运行速度就越快?

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

一、快速通道

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

二、完整通道

谁占了我的内存?

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

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

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

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

内存整理有必要吗?内存释放的越多系统运行速度就越快?

图2 Prefetch

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

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

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

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

内存整理有必要吗?内存释放的越多系统运行速度就越快?

图3 SuperFetch

内存整理反而让系统运行速度不快反慢?

清理内存值得么?

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

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

内存整理有必要吗?内存释放的越多系统运行速度就越快?

图4 盲目“整理”不可取!

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

内存整理有必要吗?内存释放的越多系统运行速度就越快?

图5 关闭SuperPrefetch前后启动用时对比

内存会撑爆么?

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

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

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

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

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

内存整理有必要吗?内存释放的越多系统运行速度就越快?

图6 虚拟内存也是有益补充

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

总结:

空闲内存越小运行越快,相信这样的结论肯定颠覆了很多人的眼球。但事实胜于雄辩,Win7、8、8.1、10操作系统早已不适应内存整理的操作习惯。

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

以上陈述,便是关于内存整理、内存释放在Windows系统中的必要性测试,事实证明,内存整理并不适应大多数的条件,如果是在网络上大量浏览资料,开启内存整理确实可以做到加速条件,但这种情况并非大多数。