PoolMon 在命令窗口中顯示有關池內存分配的數據列。使用箭頭鍵、PAGE UP 和 PAGE DOWN 鍵在數據間滾動。windows
注意 若要查看所有 PoolMon 顯示,則命令提示符窗口必須至少爲 80 個字符寬(寬度 = 80)和 53 行高(高度 = 53);而且命令提示符窗口緩衝區必須至少 500 個字符寬度(寬度 = 500)和 2000 行高度(高度 = 2000)。不然,顯示可能會被截斷。app
下表說明了 PoolMon 顯示中的列。spa
列名稱 | 說明 |
---|---|
Tagcode |
分配給池分配的 4 字節標記。orm |
Type排序 |
內存分配是採用頁面緩衝字節仍是非頁面緩衝字節。內存 |
Allocsget |
分配的數量。it |
( )io |
自上次更新以來分配數量的變化。 |
Frees |
釋放操做的數量。 |
( ) |
自上次更新以來分配數量的變化。 |
Diff |
分配的數量與釋放操做的數量的差額。 |
Bytes |
分配的大小,以字節爲單位表示。 |
( ) |
自上次更新以來分配大小的變化。 |
Per Alloc |
Bytes 的值除以 Allocs 的值。 |
Mapped_Driver |
本地驅動程序 (/c) 和其餘經常使用的驅動程序以及分配了池標記值的系統組件 (/g)。此列僅在使用 /c 或 /g 參數時顯示。 |
如下示例 PoolMon 輸出按分配的數量排序。(若要採用此方式排序顯示,請使用 /a 參數啓動 PoolMon。)
Memory: 260620K Avail: 96364K PageFlts: 0 InRam Krnl: 1916K P:17856K
Commit: 203500K Limit: 640916K Peak: 260632K Pool N: 8332K P:27220K
System pool information
Tag Type Allocs Frees Diff Bytes Per Alloc
Wait Nonp 3971107 ( 0) 3971077 ( 0) 30 8456 ( 0) 281
ObSt Nonp 2791258 ( 0) 2791258 ( 0) 0 0 ( 0) 0
Gxlt Paged 1161638 ( 0) 1161630 ( 0) 8 864 ( 0) 108
Ustm Paged 1088342 ( 0) 1088298 ( 0) 44 2464 ( 0) 56
Io Nonp 1021112 ( 1) 1020985 ( 1) 127 91912 ( 0) 723
ObSq Paged 967615 ( 0) 967615 ( 0) 0 0 ( 0) 0
Key Paged 954821 ( 0) 953979 ( 0) 842 87528 ( 0) 103
SePa Nonp 680348 ( 0) 680321 ( 0) 27 3656 ( 0) 135
更新頻率
PoolMon 每五秒更新一次其顯示。你不能更改更新頻率。
累積值
啓用池標記時 Windows 收集和計算的 PoolMon 顯示的數據。從 Windows 啓動時累積的分配、釋放操做和使用的字節的值,且在 Windows 從新啓動前單調遞增。若是在 Windows 已啓動後啓動驅動程序或組件,則該值從驅動程序或組件上次啓動時累積,且僅在驅動程序或系統從新啓動時初始化。
解釋標記值
全部池內存分配均具備標記,但不是全部的池內存分配均具備特徵標記值。在分配內存的驅動程序使用 ExAllocatePoolWithTag 或ExAllocatePoolWithQuotaTag 設置標記值時,池內存分配具備特徵標記值。若是驅動程序未分配標記值( ExAllocatePool、ExAllocatePoolWithQuota),則 Windows 仍建立標記,但分配默認的標記值 None。所以,你沒法從其餘池分配的統計信息中分辨出該驅動程序的分配的統計信息。