欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

SuperFetch,您受委屈了(一)

热心网友“火奴上尉”兄弟在远景上发表了一个帖子,对SuperFetch的作用提出质疑,写得很不错。

这个帖子反映不少用户的心里想法:觉得SuperFetch是Windows Vista的又一个败笔,甚至认为是微软拿来忽悠人的骗人把戏,要坚决禁用没商量。

对SuperFetch的典型质疑

“每天开机,它都帮我把飞车10先加载进去,可是我不一定先干这事啊,我工作的时候,它就必须把内存先放出来,然后再加载我的内容进去...”

其实不然

当我们分析SuperFetch的时候,一定要记住这个结论:SuperFetch预取的进程内容,并没有减少可用内存的数量!

很多朋友认为,SuperFetch在预取常用进程内容时,会大大减少可用内存的量,这是错误的认识。预取内存,只会减少空闲内存(Free Memeory),而不会减少可用内存(Available Memory)。

盆盆评注:
空闲内存:进程退出时,所释放的内存。
可用内存:进程可以直接利用的内存,而不需要将其中的内容转储到页面文件或者磁盘文件中去。可用内存包括空闲内存、备用内存(Standby List),还有零页内存(Zero Page List)

SuperFetch占用的是空闲内存,被使用的空闲内存,会计算为备用内存,也就是说,还是属于可用内存

也就是说,尽管SuperFetch会预取飞车10的内容,但是绝对不会“在工作时,必须把内存先放出来,然后再加载我的内容进去”。

绝对不会,为什么?因为可以直接使用预取飞车10的那部分内存,而不需要事先“释放”这部分内存。

更何况如果接下来要运行的任务,被Windows检测到是以前经常运行的,那么它的内容可能早就已经在内存里了,根本不用再到硬盘里去拿,可以大大减少硬盘访问量。

这里还要顺道BS一下中文版里的任务管理器,呵呵,错把空闲内存,翻译为“可用”内存,误导了大家:
 
这里不妨引用盆盆《Windows Vista使用详解》一书里所用的比喻:

假设我们要做“西红柿炒鸡蛋”,在以前的Windows系统里,在下油锅时,得先到超市里去买油(超市相当于硬盘);要炒鸡蛋时,再得到超市里临时买来鸡蛋;等放西红柿时,对不起,咱还得去超市买西红柿...等到菜炒好,恐怕胃口也没有了...千万别觉得好笑,Windows XP/2000的内存管理就是这样的。

而Windows Vista,SuperFetch会自动事先帮我们买好所需的西红柿和鸡蛋,并放在冰箱里(冰箱就相当于内存);要炒菜时,直接从冰箱里拿原材料进行加工即可。

接下来,我会用实验来演示,SuperFetch的实际意义,敬请大家期待本系列的第二篇。

已发表 2007年6月12日 14:33 作者 ahpeng
归档在:

评论通知

如果您想在帖子更新时接到邮件通知,请先登录。这里

订阅帖子评论使用 RSS

评论

2007年6月12日 15:42 by slice

# re: Windows Vista的SuperFetch,让您受委屈了(一)

我+到2G内存时,也写过对SF的感觉,作用是明显的。

不仅体现在程序的启动速度,比如在往从一个盘复制几G东东的同时启动PS,XP会很慢,Vista相对轻松很多。其实SF的作用在繁重的多任务时也不可忽视。

用Vista的资源监视器观察过SF时的进程的svchost.exe[localSystemNetworkRestricted],SF的I/O优先级为后台,不会会影响用户操作。

SF只发生在系统启动后和退出大程序后释放出空闲内存后,SF才会重新读盘,平时内存占用变化不大时SF不会没事让你的硬盘狂闪的。

2007年6月12日 16:28 by Basara

# re: Windows Vista的SuperFetch,让您受委屈了(一)

请盆盆允许我在这里问一个和superfetch无关的问题:)(其实也是看远景那贴想起来的...)

Vista的磁盘整理是怎么整理的?它看起来除了一个计划整理外根本没有选项,那它整理时是整个硬盘进行整理还是只整理系统所在分区?

2007年6月12日 17:23 by ahpeng

# re: Windows Vista的SuperFetch,让您受委屈了(一)

To Slice:你的观点很正确,感谢光临ITECN!

2007年6月12日 17:26 by ahpeng

# re: Windows Vista的SuperFetch,让您受委屈了(一)

To Basara:磁盘整理时会对所有磁盘进行整理,但是仅对需要整理的磁盘进行整理。

可以用defrag命令对指定分区进行碎片整理。

2007年6月18日 13:33 by szewing

# re: Windows Vista的SuperFetch,让您受委屈了(一)

那现在有sf这个功能了,时不时pf(pagefile)的大小就可以改小点呢?还是sf就是pf?还有,pf应该设置多大?

2007年6月18日 13:49 by ahpeng

# re: Windows Vista的SuperFetch,让您受委屈了(一)

To Szewing: Page File推荐采用默认值,SF的原理,可以参考我的这篇文章:

http://blogs.itecn.net/blogs/winvista/archive/2007/06/18/superfetch.aspx

2007年8月10日 14:22 by 盆盆的博客

# SuperFetch,您受委屈了(二)

上回说到要做一个实验,证明SuperFetch的效能。但实际上,要做出不受干扰的实验,非常难。所以本文设计了一个模拟的演示,来说明SuperFetch的作用。 ...

# Chemmy's Blog » Blog Archive » Vista???SuperFetch

说说您的看法?

(必填) 
必填 
(必填)