核心定義
| 層面 | 實體記憶體 (Physical RAM) | 虛擬記憶體 (Virtual Memory / Page File) |
| 本質 | DRAM 晶片,CPU 直接定址、奈秒級存取 | 硬碟/SSD 上的 pagefile.sys,OS 管理的分頁交換空間 |
| 容量 | 硬體固定 (插槽/焊死上限) | 軟體可調 (受限於磁碟空間、OS 限制) |
| 速度 | ~50~100 GB/s (DDR5),延遲 ~10-100ns | SATA SSD ~500 MB/s,NVMe ~3-12 GB/s,延遲 ~10-100µs (慢 1000x) |
| 揮發性 | 斷電資料消失 | 非揮發,關機保留 |
| 成本/GB | 高 | 極低 (利用既有儲存空間) |
虛擬記憶體運作機制:分頁與頁框
- OS 將虛擬位址空間 (每程序 4GB x86 / 128TB x64) 切為 4 KB 頁框 (大頁 2MB/1GB)。
- 頁表 映射虛擬頁 → 實體頁框 (PFN) 或「不在實體記憶體」標記。
- CPU 存取虛擬位址 → MMU 查頁表 (TLB 快取) → 命中實體框 → 完成;未命中 → 缺頁中斷。
- 缺頁處理:OS 從磁碟
pagefile.sys / 映像檔 / 對應檔案 讀回資料 → 配實體框 → 更新頁表 → 重新執行指令。
- 實體記憶體不足時:頁面置換演算法 (LRU/Clock/Working Set) 選擇受害者頁 → 若髒頁 → 寫入 pagefile → 釋放實體框。
32 位元 vs 64 位元 定址空間
- x86 (32-bit):4 GB 虛擬位址空間,預設 2 GB 用戶 / 2 GB 核心 (可用
/3GB / IncreaseUserVa 調整 3/1)。物理記憶體 >4 GB 需 PAE (Physical Address Extension) 支援,但單一程序仍限 4 GB。
- x64 (64-bit):理論 256 TB (實作 48-bit = 256 TB 用戶 + 256 TB 核心),Windows 目前支援 128 TB 用戶空間。實體記憶體上限受版本限制 (Home 128 GB、Pro/Enterprise 2 TB、Server 24 TB)。
虛擬記憶體設定建議 (Win10/11)
- 系統自動管理 (預設):對 95% 用戶最佳,動態調整大小,SSD 上無碎片問題。
- 固定大小 (進階用戶):初始 = 最大 = 實體記憶體 × 1.0 ~ 1.5 (例如 32 GB RAM → 32~48 GB)。避免動態擴縮碎片、保證核心轉儲空間。
- 放置位置:最快的 NVMe SSD,非系統盤更佳 (分散 IO)。勿放 HDD (隨機 IO 災難)。
- 完全停用:極不建議。即使 64/128 GB RAM,某些程式 (虛擬機、Adobe、游戲、核心除錯) 要求提交空間;缺頁無 pagefile 會直接 OOM 崩潰。若堅持停用,至少保留 1-2 GB 固定 pagefile 供核心轉儲。
SSD 時代的新觀念
- 分頁交換不再是災難:NVMe 4K 隨機讀 50-80 MB/s、寫 100-300 MB/s,延遲 ~20µs,比 HDD 快 100 倍。偶爾 Swap 體感幾乎無感。
- 壽命焦慮被高估:現代 TLC/QLC SSD TBW (總寫入量) 極大 (1TB ≈ 600 TBW)。分頁寫入屬循序/大塊,放大係數低。每天寫入 50 GB Swap,5 年才 90 TB,遠低於 TBW。
- 記憶體壓縮 (Windows 10/11、Linux zswap/zram、macOS memory compressor):將未頻繁存取頁面壓縮留在 RAM,減少 Swap I/O,隱性增加有效記憶體容量。
效能監控關鍵指標
- 可用記憶體:< 1 GB 或 < 總量 10% → 壓力大。
- 提交限制 / 提交使用量:任務管理員 → 效能 → 記憶體。提交使用量接近限制 → 擴充 RAM 或加大 pagefile。
- 硬式錯誤 / 秒:資源監視器 → 記憶體。持續 > 10-20 → 頻繁讀磁碟,體感卡頓。
- 頁面檔使用率:> 50% 且持續增長 → RAM 不足。
常見迷思破解
- ❌ 「關閉虛擬記憶體讓電腦更快」→ 反而導致 OOM 崩潰、無法產生核心轉儲、大型應用啟動失敗。
- ❌ 「pagefile 放在 RAM Disk」→ 循環邏輯,浪費寶貴 RAM,失去非揮發優勢。
- ❌ 「設定 pagefile = 1.5×RAM 是鐵律」→ 早期 HDD 時代經驗法則,現代大 RAM + SSD 環境下,系統自動管理或固定 1×RAM 更科學。
- ✅ 「Commit Charge (提交量) 才是真實記憶體需求」→ 含已配置未使用虛擬位址、映射檔案、共享記憶體,比「使用中」更準確。
總結:實體記憶體是性能核心,虛擬記憶體是安全網。SSD 時代請大方給予系統管理的 pagefile (或固定 1×RAM 於最快 NVMe),專注於「可用記憶體」與「提交量」監控,必要時加購實體 RAM 才是根本之道。