PoolMon 使用

PoolMon 显示
 

 

PoolMon 在命令窗口中显示有关池内存分配的数据列。使用箭头键、PAGE UP 和 PAGE DOWN 键在数据间滚动。

注意   若要查看全部 PoolMon 显示,则命令提示符窗口必须至少为 80 个字符宽(宽度 = 80)和 53 行高(高度 = 53);并且命令提示符窗口缓冲区必须至少 500 个字符宽度(宽度 = 500)和 2000 行高度(高度 = 2000)。否则,显示可能会被截断。

下表说明了 PoolMon 显示中的列。

列名称 说明

Tag

分配给池分配的 4 字节标记。

Type

内存分配是采用页面缓冲字节还是非页面缓冲字节。

Allocs

分配的数量。

( )

自上次更新以来分配数量的变化。

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 设置标记值时,池内存分配具有特征标记值。如果驱动程序未分配标记值( ExAllocatePoolExAllocatePoolWithQuota),则 Windows 仍创建标记,但分配默认的标记值 None。因此,你无法从其他池分配的统计信息中分辨出该驱动程序的分配的统计信息。

你可能感兴趣的:(OO)