單核CPU跑Vista占用率高的原因

相信很多朋友都在用單核的cpu在跑Vista,常常會覺得CPU占用率高,甚至長時間停在100%!這是什麽原因引起的呢?讓我們來和大家一起探討一下:
首先我們都知道vista會占用許多內存,因為Vista會把太多的內容預讀在了內存中。
誰令vista占用如此大的內存?
Windows Vista開機之後會慢慢慢慢慢慢慢慢占更多內存。最終發現竟然是一個vista的新功能:Superfetch!!
Superfetch其實係windows xp裏麵prefetch的改良版,能力著實強了很多。
其實大家用windows xp開一個新應用程序時,windows xp會自動創建一個.pf檔,.pf檔會保存在硬盤內,而你下一次再開同一個應用程序時,速度會增快。
而vista的superfetch能力更強,它會自動統計使用者的習慣,而且預測用家會何時開啟某些應用程,將應用程的檔案預先放入空置的內存空間內,而當你開始那個應用程時,速度會大大增快。
  

screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new windownCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new windownCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://img.article.pchome.net/00/20/08/87/1177371873316.jpg');}" onmousewheel="return imgzoom(this);" alt="" />
/>
上圖物理內存中的已緩存一項,就是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%!

所有跟帖: 

所以建議單核用戶使用Linux或者繼續用XP -德州老外- 給 德州老外 發送悄悄話 德州老外 的博客首頁 (18 bytes) () 05/19/2007 postreply 08:25:22

請您先登陸,再發跟帖!