热点科技

标题: [分享] 揭秘单核CPU跑Vista占用率高的最终原因 [打印本页]

作者: gtsanny    时间: 2007-6-26 01:00
标题: [分享] 揭秘单核CPU跑Vista占用率高的最终原因
揭秘单核CPU跑Vista占用率高的最终原因
信很多朋友都在用单核的CPU在跑
vista
,常常会觉得CPU占用率高,甚至长时间停在100%!这是什么原因引起的呢?我们都知道Vista会占用许多
内存
,因为Vista会把太多的内容预读在了内存中。
  Windows Vista开机之後会慢慢占更多内存。最终发现竟然是一个Vista的新功能:Superfetch。
  Superfetch其实系windows xp里面prefetch的改良版,能力其实强了很多。
  其实大家用windows xp开一个新应用程序时,windows xp会自动创建一个.pf档,.pf档会保存在
硬盘
内,而你下一次再开同一个应用程序时,速度会增快。
  而Vista的superfetch能力更强,它会自动统计使用者的习惯,而且预测用家会何时开启某些应用程,将应用程的档案预先放入空置的内存空间内,而当你开始那个应用程时,速度会大大增快。
[attach]140127[/attach]

上图物理内存中的已缓存一项,就是Vista用来放置档的空间。
  而当一名用家开了一个很大的应用程,如游戏、photoshop等等,windowsVista会自动减少已缓存的空间,将那些空间发还给应用程运行。整个过程是全自动,而在windowsxp,空置的内存只是空置,系统不会好好利用,而Vista就好好改良了,善用多余的内存,提升系统反应,不是盲目占用内存。
  Vista虽然会占用大多的内存,但这并不代表没有内存可用,如果你要用内存,它会调整出相应的内存给你。这就和XP有很大的区别了,事实上XP把内存空闲在那里实际上是一种浪费,比如1G内存的系统通常有500M左右都是常年空闲的。
  由于Vista把内存都占用了,因此打开大程序的速度比XP慢。例如当我们打开photoshop时,XP可以直接加载到空闲的内存中,而Vista即使把内存让出来,也需要一些时间,所以我们就感觉Vista比xp慢。
  但我们从另一个角度来看,Vista由于它可以利用内存来高缓存文件,所以在在高负载下的性能要比XP平衡!我们可以一边杀毒一边上网,而不觉得慢。此时虽然Vista会出现狂读硬盘的问题,硬盘灯一直亮,但系统没有一点延迟。也就是说Vista常用的数据比较多的依赖内存,而不像xp那样全部都依赖硬盘。
  就是由于Vista适用于多任务、高负载的特性,比较适合于多线程系统使用,所以我们在用单核心的cpu时,往往会造成CPU占用率高,甚至长时间停在100%。
作者: LALYAY    时间: 2007-6-26 02:10
原来是这么回事啊……谢谢了!
作者: trrrr    时间: 2007-6-26 02:34
不怕,刚升级到了双核的U。呵呵~
作者: ltjizf    时间: 2007-6-26 06:57
那看来要升级到双核、乃至四核处理器了。。。
作者: yty007    时间: 2007-6-26 08:11
有么?磁盘IO比较多倒是真的。。。。。。
要说占CPU,Aero最占CPU……
作者: wzy36900    时间: 2007-6-26 08:13
明白了 谢谢提供。。
作者: lmdw    时间: 2007-6-26 08:15
升级到双核对梦幻桌面也颇有裨益!
作者: gasohuai    时间: 2007-6-26 19:56
学习了~~~~~~~~`但双核为什么就不会呢?
作者: wxz123    时间: 2007-6-26 20:34
例如当我们打开photoshop时,XP可以直接加载到空闲的内存中,而Vista即使把内存让出来,也需要一些时间,所以我们就感觉Vista比xp慢。


这一点不对,把内存让出来是不需要时间的。那些所谓空闲的内存不过是存储了“0”里面而已,ram存储器只有读/写,没有所谓的清掉数据一说。所以把新的数据直接覆盖在老数据上,或者是覆盖在全0的数据上,所花的时间是相同的。
作者: ljz8204    时间: 2007-6-26 21:01
反正我用单核的CPU,关闭KMPlayer时间比用双核CPU长的多!
作者: jackygly    时间: 2007-6-26 22:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: ggghhhgtgg    时间: 2007-6-27 00:56
原来是这样啊,学习了,
作者: long491737040    时间: 2007-6-27 09:10
知道了。。。。。。。。。
作者: kaneys    时间: 2007-6-27 10:18
原帖由 卡卡叮 于 2007-6-26 01:00 发表
由于Vista把内存都占用了,因此打开大程序的速度比XP慢。例如当我们打开photoshop时,XP可以直接加载到空闲的内存中,而Vista即使把内存让出来,也需要一些时间,所以我们就感觉Vista比xp慢。

  Windows Vis ...
至于Vista把内存让出来需要时间这点不敢苟同。
已缓存部分是物理内存,而且属于可用内存范畴。程序想用就可以用,不存在需要文件交换释放内存给程序使用的过程。

比入VPC虚拟机设置了1G内存,在启动虚拟机系统启动瞬间你会发现瞬间已缓存下降了近1G,虚拟机占用1G内存,并不存在你所说的把内存让出来的过程。
更不会让大程序启动变慢。不信禁用SF服务重启下试试运行Photoshop,是不是启动更慢了,呵呵


不只是SF,Vista的后台服务确实多了点,还有索引也不能忽视,你用任务管理器和资源监视器观察下的话,才装的系统其实索引那几个服务CPU占用到是不大稳定,有时候可能会比较高。
作者: 642122031    时间: 2007-6-27 11:04
人家的原意是这样:
比如1g内存,实际占用450m,如果运行一个700m的游戏,那么加起来1g内存就不够了
必然要将450m中用于预存取的大约200m存入虚拟内存(也就是磁盘)
因此用"让"这个词还是很贴切的
作者: chaow    时间: 2007-6-27 11:42
长知识了,谢谢
作者: lichunguo668    时间: 2007-6-27 11:48
在Windows Update居然也会占用率100%




欢迎光临 热点科技 (https://itheat.com/activity/) Powered by Discuz! X3.2