首先我們都知道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%!