!memusage

!memusage 扩展显示有关物理内存使用情况的摘要统计信息。

语法

!memusage [Flags]

参数

标志
可以是下列任何值之一。 默认值为 0x0。

0x0
显示一般摘要信息,以及 PFN 数据库中页面的更详细说明。 有关此类输出的示例,请参阅“备注”部分。

0x1
仅显示有关 PFN 数据库中修改的无写入页的摘要信息。

0x2
仅显示有关 PFN 数据库中修改的无写入页的详细信息。

0x8
仅显示有关内存使用情况的一般摘要信息。

环境

模式:仅内核模式

DLL

Kdexts.dll

其他信息

从内存管理器的页帧编号(PFN)数据库表收集物理内存统计信息。

运行此命令需要很长时间,尤其是在目标计算机以 64 位模式运行时,因为要获取的数据量更大。 在加载 PFN 数据库时,计数器会显示其进度。 若要加快此加载速度,请使用网络连接,或使用 CTRL+A(切换波特率)键提高 COM 端口速度,或使用 .cache(设置缓存大小)命令增加缓存大小(可能约为 10 MB)。

执行本地内核调试时,也可以使用 !memusage 命令。

以下是此扩展的输出示例:

kd> !memusage
loading PFN database
loading (100% complete)
Compiling memory usage data (99% Complete).
             Zeroed:      218 (     872 kb)
               Free:      831 (    3324 kb)
            Standby:   124049 (  496196 kb)
           Modified:    55101 (  220404 kb)
    ModifiedNoWrite:       58 (     232 kb)
       Active/Valid:   321846 ( 1287384 kb)
         Transition:        8 (      32 kb)
         SLIST/Temp:     1533 (    6132 kb)
                Bad:        0 (       0 kb)
            Unknown:        0 (       0 kb)
              TOTAL:   503644 ( 2014576 kb)

Dangling Yes Commit:      184 (     736 kb)
 Dangling No Commit:    81706 (  326824 kb)
  Building kernel map
  Finished building kernel map
Scanning PFN database - (100% complete) 

...

报告中还包括有关调试器可见的内存使用情况的详细信息。

  Usage Summary (in Kb):
Control       Valid Standby Dirty Shared Locked PageTables  name
ffffaf0fb369f010   204    956     0    32   204     0  mapped_file( shell32.dll )
ffffaf0fb369f270   492     60     0   252   492     0  mapped_file( KernelBase.dll )
ffffaf0fb36ad050    20     36     0     0    20     0  mapped_file( WMIsvc.dll )
ffffaf0fb36adad0    88    144     0    40    88     0  mapped_file( Can't read file name buffer at ffffc10e0497e170 )
ffffaf0fb36b5670   780   1012     0   560   780     0  mapped_file( KernelBase.dll )
ffffaf0fb36b5910    44    144     0    28    44     0  mapped_file( cfgmgr32.dll )
ffffaf0fb36bc270     8      0     0     0     8     0  mapped_file( Can't read file name buffer at ffffc10e061a17d0 )
ffffaf0fb36bc520    24     56     0     4    24     0  mapped_file( ShareHost.dll )

...

第一列显示描述每个映射结构的控制区域结构的地址。 使用 !ca 扩展命令显示这些控制区域。

注解

可以使用 !vm 扩展命令分析虚拟内存使用情况。 此扩展通常比 !memusage 更有用。 有关内存管理的详细信息,请参阅由 Pavel Yosifovich、Andrea Allievi、Alex Ionescu、Mark Russinovich 和 David Solomon 编写的 Microsoft Windows 内部资料

!pfn 扩展命令可用于显示 PFN 数据库中的特定页帧条目。

!pool 扩展显示有关特定池分配或整个系统范围的池的信息。