Windows系統內存分析工具的介紹


 

Windows系統內存分析工具的介紹(進程管理器,資源管理器,性能監視器, VMMap, RamMap,PoolMon)

微軟官方提供多種工具來分析Windows 的內存使用情況,除了系統自帶的任務管理器(Task Manager) 資源監視器(Resource Manager), 性能監視器(Performance Monitor), 還有SysInternals工具,  RamMap, PoolMon用以分析內存問題。
本文簡單介紹上述工具的快速使用方法,如果需要了解深入了解,請參考微軟相關鏈接。

任務管理器

Windows 系統可以使用任務管理器進行內存監控,監控可以顯示出詳細的內存占用的進程。尤其是在性能中檢查虛擬內存的使用情況,已提交虛擬內存(Commited Bytes)/虛擬內存上限(Commit Limit)。如果已提交非常接近上限,那么系統會出現性能問題。
Windows 2008 R2
示例
通過查看還可以添加各類內存指標進行檢查,請重點檢查工作集(進程物理內存占用) 提交大小(非保留的虛擬內存空間)


Windows 2012
示例

資源監視器

通過任務管理器,可以打開資源監視器 Resource Manager進一步檢查內存的使用情況,尤其是每個進程的使用情況。對於各個進程而言,請重點關注"提交(KB)"內存的大小,監控是否有進程消耗過多資源。

物理內存的使用包含以下幾個部分:
為硬件保留的內存
正在使用:由進程、驅動程序、操作系統使用的內存
已修改:內容必須寫入磁盤才能用於其它用途的內存
備用:包含未使用的緩存數據和代碼的內存
可用:不包含任何有價值數據,以及當進程、驅動程序、操作系統需要更多的內存時優先使用的內存

緩存:當文件被打開時,系統會把文件保存在緩存中,才以便下次迅速讀寫。Windows 2008 R2及以后,對這個緩存的使用也做了限制:有一部分物理內存不會被緩存使用,保證系統即使在緩存過大的時候,也有可用物理內存,滿足程序使用需求。

性能監視器

Performance Monitor 性能監視器是Windows 監控,收集系統資源消耗的重要工具。
監控性能消耗
通過添加指定的計數器,可以實時檢查系統資源消耗的情況

此外,還可以通過"數據收集搜集"->"用戶定義" 手工添加各類計數器,例如Logical Disk, Memory, System, Processor, Process來收集系統各類資源的實時運行情況,同時通過采樣間隔來定義收集頻率。例如,如果機器有內存泄露問題很久才能復現,可以配置采樣間隔為5秒,如果機器很容易出現CPU異常,那么可以配置采樣間隔為1秒。

RamMap, Process Explorer

有時在任務管理器的監控窗口中查看不到占用內存異常的進程,但物理內存顯示已經負載的狀態了。
這種情況一般是系統底層有占用內存的情況,可以通過RamMap工具查看系統內存的占用情況,該工具是微軟官方的軟件,相關信息及下載地址如下: https://technet.microsoft.com/en-us/sysinternals/ff700229.aspx

下載后直接運行,就可以查看任務管理器中不顯示的系統占用內存的情況。
詳細介紹:
Introduction to the new Sysinternals tool: RAMMap

Process Explorer 也可以查看進程的詳細資源占用情況,例如打開后也可以查看到進程的各類內存資源使用情況。

Pool Monitor

對於WIndows內核而言,其兩項核心的內存資源為non paged pool(非頁面緩沖池)以及paged pool (頁面緩沖池)。操作系統出現內存性能問題,很可能是上述2個資源消耗殆盡。雖然通過上述提到的工具可以查看到資源消耗的情況,但是如果需要定位是系統哪個Tag消耗的資源,需要使用PoolMon來定位。
poolmon
使用參考:
https://technet.microsoft.com/en-us/library/cc737099(v=ws.10).aspx

檢查perfmon 日志來定位究竟是哪個Pool Tag導致的資源消耗殆盡,例如一個案例,檢查到IoDn tag導致資源消耗完,通過如下命令定位到是SafeDogFileGuard.sys, 而后通過修正該應用解決。

關於Tag的介紹,請參考微軟官方Blog
http://blogs.technet.com/b/askperf/archive/2008/04/11/an-introduction-to-pool-tags.aspx

 

來自:https://help.aliyun.com/knowledge_detail/41079.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM