天行健 君子当自强而不息

【ZT】揭秘单核CPU跑Vista占用率高的最终原因

相信很多朋友都在用单核的CPU在跑vista,常常会觉得CPU占用率高,甚至长时间停在100%!这是什么原因引起的呢?我们都知道Vista会占用许多内存,因为Vista会把太多的内容预读在了内存中。

Windows Vista开机之後会慢慢占更多内存。最终发现竟然是一个Vista的新功能:Superfetch。

Superfetch其实系windows xp里面prefetch的改良版,能力其实强了很多。

其实大家用windows xp开一个新应用程序时,windows xp会自动创建一个.pf档,.pf档会保存在硬盘内,而你下一次再开同一个应用程序时,速度会增快。

而Vista的superfetch能力更强,它会自动统计使用者的习惯,而且预测用户会何时开启某些应用程,将应用程的档案预先放入空置的内存空间内,而当你开始那个应用程时,速度会大大增快。





上图物理内存中的已缓存一项,就是Vista用来放置档的空间。

而当一名用家开了一个很大的应用程,如游戏、photoshop等等,windows Vista会自动减少已缓存的空间,将那些空间发还给应用程运行。整个过程是全自动,而在windows xp,空置的内存只是空置,系统不会好好利用,而Vista就好好改良了,善用多余的内存,提升系统反应,不是盲目占用内存。

Vista虽然会占用大多的内存,但这并不代表没有内存可用,如果你要用内存,它会调整出相应的内存给你。这就和XP有很大的区别了,事实上XP把内存空闲在那里实际上是一种浪费,比如1G内存的系统通常有500M左右都是常年空闲的。

由于Vista把内存都占用了,因此打开大程序的速度比XP慢。例如当我们打开photoshop时,XP可以直接加载到空闲的内存中,而Vista即使把内存让出来,也需要一些时间,所以我们就感觉Vista比xp慢。

但我们从另一个角度来看,Vista由于它可以利用内存来高缓存文件,所以在在高负载下的性能要比XP平衡!我们可以一边杀毒一边上网,而不觉得慢。此时虽然Vista会出现狂读硬盘的问题,硬盘灯一直亮,但系统没有一点延迟。也就是说Vista常用的数据比较多的依赖内存,而不像xp那样全部都依赖硬盘。

就是由于Vista适用于多任务、高负载的特性,比较适合于多线程系统使用,所以我们在用单核心的cpu时,往往会造成CPU占用率高,甚至长时间停在100%。

(来源:vista之家)

posted on 2007-07-27 17:01 lovedday 阅读(558) 评论(1)  编辑 收藏 引用 所属分类: ▲ About Windows

评论

# re: 【ZT】揭秘单核CPU跑Vista占用率高的最终原因[未登录] 2007-07-28 11:17 随意

做得没有Linux好,
都是抄袭Linux的做法.  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

导航

统计

常用链接

随笔分类(178)

3D游戏编程相关链接

搜索

最新评论