单核CPU跑Windows Vista占用率高的原因

相信很多朋友都在用单核的cpu在跑Vista , 常常会觉得CPU占用率高 , 甚至长时间停在100%!这是什么原因引起的呢?让我们来和大家一起探讨一下:

首先我们都知道vista会占用许多内存 , 因为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%!

    推荐阅读