解決Windows內存問題需要對操作系統的深入理解,同時對於如何運用Windows調試器或性能監控器要有工作認知。如果你正試著得到細節,諸如內核堆棧大小或硬盤內存消耗,你會需要調試器命令和內核數據架構相關的復雜經驗。面對進程地址空間來確定私人與共享內存利用率或總堆棧大小,即使是經驗最豐富的管理員也會覺得頗具挑戰。
不要害怕,RamMap和VMMap易化了解決內存問題的過程。你可以從Sysinternals網站上下載這些免費工具。這兩個工具都是Mark Russinovich和Bryce Cogswell編寫的。
RamMap
RamMap用於展示系統和進程內存狀態和利用率。它提供一個命名為“使用計數”的概要欄,它列出所有各種各樣的系統內存分區,如分頁池和非分頁池、流程私密的、可共享的、硬盤空間、內核堆棧和映射文件。它還顯示被稱為Metafile的緩存文件內存空間的數量。
所有這些分區又進一步分類成不同類型的物理內存消耗,如活躍的、備用的、修改的、轉變的、調零的、免費的或糟糕的。這些列中的每一個都可通過點擊列抬頭分類。所有這些術語在Russinovich的《Windows內部書》一書中都有解釋。如圖1所示,數據以圖形的列表視圖整齊展示。
圖1:RamMap 中的使用計數數據
RamMap還在“進程”欄中顯示進程內在利用率。在這裡你可以看到所有列出的進程,還有它們相應的私有內存利用率。數據還包括所有占用備用或修改頁面列表的進程內存,還有用於頁表項的內存量。
圖2:RamMap進程欄
RamMap的另一種運用是顯示實際的物理內存用量,一頁一頁地識別內存清單、運用、文件名、進程、虛擬地址和池標簽等屬性。每一欄都可以分類,並且有一個過濾功能可以用來有選擇性地分析數據。
圖3:RamMap物理頁面欄
最後,RamMap在展現緩存文件活動和數據上也做得不錯。你可以運用“文件摘要”和“文件詳細信息”欄向下查看系統文件緩存來確定文件路徑、它占用的大小、相應內存是在活躍的、備用的還是修改的頁面列表中。
圖4:RamMap文件摘要欄