研究一下如何監控Windows的記憶體使用狀況-使用效能監視器與WMI
首先就是確認Windows目前可用的記憶體大小,也就是確認 :
Memory : Available Bytes
WMI的監控值是在:
Win32_PerfRawData_PerfOS_Memory
Win32_PerfFormattedData_PerfOS_Memory
分別有三種單位:
AvailableBytes
AvailableKBytes
AvailableMBytes
再來我們關心的就是虛擬記憶體使用狀況,也就是所謂的硬碟分頁檔,這個監控項目分為:
Memory: Pages/sec
Memory: Page Faults/sec
Memory: Pages Reads/sec
其WMI值也在:
Win32_PerfRawData_PerfOS_Memory
Win32_PerfFormattedData_PerfOS_Memory
分別為:
PagesPerSec
PageFaultsPerSec
PageReadsPerSec
這邊進一步了解Page Faults的意義.
當運行的程式要從某一記憶體定址中取得資料,但是這一段定址的資料已經不存在了,這時候就會發生Page Faults.
而Page Faults又可分為Hard Page Faults跟Soft Page Faults.
- Hard Page Faults:當要讀取記憶體中的資料,已經被搬到硬碟分頁檔時.
- Soft Page Faults:當要讀取記憶體中的資料,還在記憶體中,只是存在不同的位置上.
而其中只有Hard Page Faults對系統的效能影響較大.但是系統監控項目並沒有單獨做出Hard Page Faults的項目,所以我們需要同時監控Pages Reads/sec與Page Faults/sec,當兩個數值同時增加時,就可以知道Hard Page Faults增加.