DDR 記憶體大幅降價,512MB 甚至 1GB 記憶體普及後,流行「禁用虛擬記憶體、禁止分頁檔交換、強制資料在記憶體處理可加速」的說法。這真的是最佳實踐嗎?本文深度分析虛擬記憶體運作機制與正確設定策略。
Windows 設計虛擬記憶體原本是因實體記憶體昂貴(早期多在 128MB 以下),需硬碟空間作緩衝。關鍵在於:比較「應用峰值需求記憶體」與「實際擁有記憶體」。若實體記憶體小於應用峰值,禁用虛擬記憶體必遇麻煩。
即使固定虛擬記憶體大小也需謹慎,運行大型應用時才發現不足,系統已因 CPU 高負載而卡頓,此時調整為時已晚。
Windows 發現程序進入非活躍狀態,會主動將其記憶體空間對應到交換檔,騰出實體記憶體給活躍執行緒,而非等實體記憶體用完才啟用交換檔。若等用完再調度,低階機器必造成資料傳輸停滯。因此原則上禁止虛擬記憶體最易導致 Windows 異常,即使不當機,也會頻繁彈出「虛擬記憶體不足」警告干擾使用。
大記憶體用戶若執意追求效能,可劃出部分實體記憶體虛擬成 RAM Disk,再將分頁檔設在 RAM Disk 上:
在 Config.sys 加入:DEVICE=C:\WINDOWS\RAMDRIVE.SYS 23000 /E(23000 為 KB 數,1GB 記憶體可設 300000-500000 即 300-500MB),再將虛擬記憶體指向該虛擬磁碟。
Pagefile.sys 設至該磁碟System.ini [386enh] 區段加入 ConservativeSwapfileUsage=1,讓 Windows 優先使用實體記憶體,盡量不直接禁用交換檔禁用虛擬記憶體帶來的加速效果極有限,Windows 2000/XP 預設虛擬記憶體管理機制已相當優秀,**強烈建議保持預設設定,勿隨意更改**。一旦出問題,極難判斷分析。
反覆出現同類故障、依提示解決無效時,請考慮 Windows 回報錯誤的可能性,從硬體層面排查。