為何需要專業工具?
Windows 記憶體架構複雜 (核心堆疊、分頁/非分頁集區、工作集、映射檔案、待命/修改/零頁清單…)。傳統效能監視器、工作管理員顆粒度不足,WinDbg 門檻極高。Sysinternals 免費雙雄 RamMap (系統級) 與 VMMap (進程級) 填補鴻溝。
RamMap — 系統實體記憶體全景圖
核心分頁籤
- Use Counts (使用計數):以圖表呈現各類記憶體分區佔用:
Active (作用中)、Standby (待命)、Modified (已修改)、Transition (轉換)、Zeroed (歸零)、Free (可用)、Bad (壞頁)。
細分類別:Paged/Nonpaged Pool、Process Private、Shareable、Mapped File、Kernel Stack、Metafile (檔案系統快取)。

- Processes (進程):列出所有進程私有記憶體、待命/修改頁佔用、頁表項 (PTE) 佔用。可依欄位排序、篩選。

- Physical Pages (實體頁面):逐頁 (4KB) 展示:頁面清單、用途、檔案名稱、進程、虛擬位址、Pool Tag。極適合追蹤「誰佔用了實體記憶體」。

- File Summary / File Details (檔案快取):向下鑽研系統檔案快取:路徑、大小、所在頁面清單 (Active/Standby/Modified)。

VMMap — 進程虛擬位址空間微觀剖析
(原文未展開,補充關鍵能力)
- 視覺化進程虛擬記憶體區塊:映像、堆積、堆疊、Managed Heap (.NET)、私有資料、共享記憶體、保留區域。
- 支援 Heap 分析:顯示堆積區段、區塊大小分佈、碎片率,定位記憶體洩漏。
- 快照比較:兩時間點快照差異,精準鎖定增長源頭。
- 命令列自動化:
VMMap.exe -p PID -snapshot baseline.vmsnap 整合 CI/CD 效能回歸測試。
實戰場景速查
| 現象 | 首選工具 | 關鍵動作 |
| 系統可用記憶體驟降、待命頁暴增 | RamMap → Use Counts / File Summary | 識別大檔案快取、資料庫映射檔、備份軟體讀取 |
| 特定進程記憶體持續增長 (疑似洩漏) | VMMap → Heap View / Snapshot Diff | 定位堆積區段增長、呼叫堆疊、分配點 |
| 非分頁集區耗盡導致系統卡頓 | RamMap → Use Counts → Nonpaged Pool | 交叉 PoolTag 對應驅動程式 (poolmon /!pool) |
| 大頁面 / 巨型頁面配置驗證 | RamMap → Physical Pages | 篩選 Large Page、檢視對應進程 |
獲取與學習資源
- 下載:RamMap / VMMap (Microsoft Learn / Sysinternals 官網)。
- 權威參考:《Windows Internals》 (第 7 版) 第 5 章 Memory Management,作者 Mark Russinovich (工具作者) 與 David Solomon、Alex Ionescu。