從 XP 升級 Win7 的用戶最常問:「為什麼剛開機記憶體就佔用 50% 以上?XP 才 20%!」這不是記憶體洩漏,也不是 Bug,而是 Superfetch 智慧預讀機制在作祟。本文深度解析 Superfetch 運作原理、為何「感覺佔用高」實則「跑得更快」、如何正確看待記憶體使用率,並給出針對不同硬體配置的優化建議。
Superfetch 核心機制
- 學習使用習慣: 記錄用戶常用程式、啟動時間、使用頻率
- 開機預讀: 開機後自動將高機率使用的程式頁面從硬碟預載入記憶體(待命頁面 / Standby List)
- 軟頁錯誤: 用戶啟動程式時,直接從記憶體映射頁面,無需硬碟硬頁錯誤,啟動速度大幅提升
- 動態平衡: 記憶體壓力大時,自動釋放低優先級待命頁面給作用中程式,不會造成 OOM
- 大型程式退出後回補: 關閉大型程式釋放的記憶體,Superfetch 會主動將先前被擠到虛擬記憶體的頁面調回實體記憶體
為什麼「第一次啟動慢、第二次快」?
| 階段 | 記憶體狀態 | 頁面來源 | 耗時 |
| 開機後首次啟動 Word | 工作集無 Word 頁面 | 硬碟(硬頁錯誤) | ~5 秒 |
| 關閉 Word 後再次啟動 | 待命頁面保留 Word 頁面 | 記憶體(軟頁錯誤) | ~2 秒 |
| 未關閉 Word 直接開新文件 | 工作集含 Word 頁面 | 記憶體(直接映射) | 極快 |
XP vs Win7 記憶體管理差異
- XP:被動式管理。後台工作(碎片整理、掃毒)跑滿 CPU/硬碟 → 擠走前景程式頁面到虛擬記憶體 → 任務結束後不主動調回 → 用戶回來發現系統卡頓、硬碟狂轉
- Win7:主動式管理。Superfetch 學習習慣、預讀、回補,讓記憶體始終裝著「最可能用到」的資料
查看預讀記憶體細節
- 資源監視器 (
resmon.exe) → 「記憶體」索引標籤 → 「實體記憶體」區塊
- 待命: Superfetch 預讀佔用(可隨時釋放)
- 已修改/作用中: 程式實際佔用
- 總和 = 實體記憶體大小
優化建議:依硬體配置對症下藥
| 硬體配置 | 建議策略 |
| ≥ 8GB 記憶體 + SSD | 保持預設,Superfetch 效益最大,SSD 隨機讀取極快,預讀幾乎無延遲 |
| 4-8GB 記憶體 + HDD | 保持預設,Superfetch 明顯加速啟動;可搭配 ReadyBoost(見下) |
| ≤ 4GB 記憶體 + HDD | ① 使用 ReadyBoost(USB 3.0 隨身碟,容量 1-2.5 倍實體記憶體) ② 或停用 Superfetch(services.msc → Superfetch → 停用),接受較慢啟動換取可用記憶體 |
| 筆電 + HDD | 啟用「混合睡眠」/「休眠」,保留 Superfetch 預讀內容,避免每次開機重新學習 |
ReadyBoost 補充說明
- 利用閃存隨機讀取優於 HDD 的特性,作為 Superfetch 預讀頁面的次級快取
- 微軟演算法保證不損壽命(均衡寫入、避免頻繁擦除)
- 右鍵 USB 隨身碟 → 「內容」→ 「ReadyBoost」索引標籤 → 選擇「專用此裝置加速系統」
- 速度不達標的隨身碟無法啟用
常見誤區澄清
- ❌ 「記憶體佔用高 = 系統慢」 → ✅ 「待命頁面佔用高 = 啟動快、切換快」
- ❌ 「用記憶體清理工具釋放記憶體」 → ✅ 「清理工具強制丟棄待命頁面,下次啟動反而變慢」
- ❌ 「關機比休眠好」 → ✅ 「休眠/睡眠保留 Superfetch 狀態,下次開機秒進桌面」
小結: Windows 7 記憶體佔用高是功能而非 Bug。Superfetch 讓「記憶體不留白」成為「記憶體留給最可能用到的資料」。理解機制後,不再焦慮記憶體使用率,改關注「可用記憶體」與「系統回應速度」。依配置靈活調整 Superfetch/ReadyBoost,才是正確優化之道。