2009年6月9日 星期二

Vista開機慢關機動速度慢如何解決|關閉Superfetch 和 prefetch

Vista開機慢關機動速度慢如何解決|關閉Superfetch和prefetch。網上很多朋友都在談論vista動慢
的問題,大多有兩方面:
1、硬體配置的問題,特別是顯存小於128MB,記憶體小於512MB。
2、硬體衝突以及驅動程式不匹配的(當然由於這些原因多導致的動慢,存在於所有windows系統
上)
其實還可能有另外一個原因:superfetch,這原本是Windows Vista的新技術,用於加速系統運作。
但實際上,在一些慢速硬碟的設備,例如筆記本上,關閉它反而可以提升系統回應速度。我在自己的筆
本上進行測試,關閉superfetch,然後觀察從打開電源到用戶登錄完成,也就是說登錄後,硬碟燈不再
常亮,這個過程所需要的時間,節約了大概5-7分鐘。
在理解爲什superfetch會影響到系統動速度的時候,我們需要先講解幾個技術,以充分瞭解它們的原理。
虛擬記憶體 包括Vista在內的Windows作業系統都一直在利用虛擬記憶體,它的作用在於,當實體記憶
體不能滿足應用需要的時候,作業系統將開始把應用程式在記憶體中的部分資料,存儲到硬碟,從而釋
放RAM以備他用。這些被存儲到硬碟的資
料,以文件的形式存放,通常在根分區,名爲agefile.sys的隱藏文件。
當需要調用這些資料的時候,作業系統查找pagefile中的資料,並將之返回到記憶體。在這過程中,由於
需要反復的磁片讀寫,所以可能導致應用程式反應很慢。 您看到的文章源自活動目錄網路管理博客vista
專欄
http://gnaw0725.blogbus.com/c1404553/
預讀Prefetch 於是到了Windows xp,作業系統的設計人員就設計出一種成爲 預讀Prefetch的技術,這
種技術在系統或者應用程式動過程中,監視資料在磁片和記憶體之間的移動規律或者狀況,預先把那
些讀寫頻率較高的資料,保存到 %systemroot%\Prefetch文件夾副檔名爲.pf的文件中,並一種規則高
效的方式存放這些文件。這樣,當這些資料被重復讀取的時候,就可以直接從這些緩存文件中讀取,而
不用重新讀取硬碟磁區、磁軌,尋找資料的原始位置,自然也就加速了應用程式的回應速度。但這種技
術主要的緩存方式仍然是基於磁片的。
快速預讀Superfetch 到了Windows Vista,因爲電腦的記憶體已經日益增大,設計人員開始考慮使用記
憶體作爲預讀快取的資料存放空間。但出於兩方面的原因,一記憶體是不可記憶的,一旦斷電所有資料
都將丟失;二 記憶體並沒大到可以容納所有應用程式的程度,故而 Superfetch的讀寫操作雖然主要是基
於記憶體,但是將資料寫入記憶體的同時,仍然會寫入硬碟,以用於資料交換。這些資料以文件形式存
在,通常它們的存放位置在 %SystemRoot%\Prefetch 目錄中副檔名爲
同時,由於 Superfetch技術是構建在Prefetch的基礎之上,所以Vista在用 Superfetch的同時也開
了 Prefetch功能,這也進一步加劇了磁片讀寫。如果您的電腦硬碟速度碰巧比較慢,比如筆記本的
5400轉硬碟,那Superfetch反而會導致您的系統變慢。
解決問題 我們瞭解了Superfetch的工作原理,解決系統動慢也就不成爲問題了。下面對Superfetch的
調整,通過註冊表就可以完成了。superfetch的註冊表鍵值在:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory
Management\PrefetchParameters/]
那提升Vista系統動速度以及應用程式回應速度,您可以考慮三種方式:
1.調整 superfetch 緩存級別。

鍵名爲 EnableSuperfetch
鍵值爲 0=停用 1=Superfetch 應用程式 2=Superfetch 動程式 3=Superfetch 兩者
預設值爲3,您可以嘗試調整這些值,感受一下調整後,系統或者應用程式的回應速度。
關閉 prefetch 或者 superfetch

2.關閉 prefetch 或者 superfetch
Prefetch的鍵名爲 EnablePrefetcher,鍵值設置同上。您可以將兩者或者其中一個設置爲 0,即關閉它
們以減少磁片讀寫。
如果你還是不太清楚prefetch 或者 superfetch登錄檔設定
參考教學: http://briian.com/?p=4999
3、採用 readyboost
此時superfetch將會把緩存的資料檔案轉移到快閃記憶體存儲上。轉爲Readyboost所準備的快閃記憶體
存儲要比5400轉的筆記本硬碟來得快。我做過一個嘗試,一般的快閃記憶體複製資料,大概在 3-
4MB/s,而readyboost快閃記憶體能夠到 10MB/s。所以使用readyboost的技術,一方面加速了
superfetch的運作效能,另一方面也減少了硬碟的讀取,從而讓您的電腦在運行的時候能夠更快的回應。
其他 至於關閉superfetch對休眠會有多大影響,我沒有測試,大家有興趣可以測試一下

沒有留言: