2008年4月4日 星期五

Windows Prefetch 技術

由於 Windows 每次執行程式時,都需要配置並初始化記憶體,然後再從硬碟載入該程式,這個會花掉不少時間,所以 Windows 會將已初始化過的記體映像儲存一份到 C:\Windows\prefetch 資料夾中,以便於下次啟動程式前 (以及開機時) 可以直接將常用程式與開機程式的記憶體映像事先載入記憶體,加快開機與應用程式的啟動速度。
透過刪除 C:\Windows\prefetch 資料夾,除了可以減少硬碟使用的空間之外, 還可以解決部份類似以下的問題:

代碼:
"0x7cd649d8" 指令參考的 "0x15c96730" 記憶體。該記憶體不能為 "read"

因此,如果您要將 Windows 做成 sysprep 映像,請記得先清除這個資料夾中的所有檔案,以免系統還原後,因為記憶體大小或系統硬體規格不同,而造成這些映像無法正常使用。

另外,也可以透過系統機碼 (registry) 來設定 prefetch 的行為:

代碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters

在這個機碼下有一個 EnablePrefetcher 的 REG_DWORD 的值,意義如下:
0: 停用 prefetch 功能
1: 將應用程式的記憶體映像事先載入
2: 將開機程式的記憶體映像事先載入
3: 等於 1 + 2 的功能

轉載 聖哥的資訊站

沒有留言:

張貼留言