!vm

!vm 扩展显示有关目标系统上虚拟内存使用统计信息的摘要信息。

!vm [Flags]

参数

标志
指定在此命令的输出中将显示哪些信息。 这可以是以下位的任何总和。 默认值为 0,这将导致显示包括整个系统的虚拟内存统计信息以及每个进程的内存统计信息。

位 0(0x1)
导致显示省略特定于进程的统计信息。

位 1(0x2)
导致显示包含内存管理线程堆栈。

位 2(0x4)
导致显示包含终端服务器内存使用情况。

位 3(0x8)
导致显示包含页面文件写入日志。

位 4 (0x10)
导致显示包含工作集所有者线程堆栈。

位 5(0x20)
(Windows Vista 及更高版本)导致显示包含内核虚拟地址使用情况。

环境

模式:仅内核模式

DLL

Kdexts.dll

其他信息

!memusage 扩展命令可用于分析物理内存使用情况。 有关内存管理的详细信息,请参阅 Mark Russinovich 和 David Solomon 编写的 Microsoft Windows 内部资料

注解

下面是 Flags 为 1 时生成的简短输出示例:

kd> !vm 1

*** Virtual Memory Usage ***
      Physical Memory:     16270   (   65080 Kb)
      Page File: \??\E:\pagefile.sys
         Current:     98304Kb Free Space:     61044Kb
 Minimum:     98304Kb Maximum:       196608Kb
      Available Pages:      5543   (   22172 Kb)
      ResAvail Pages:       6759   (   27036 Kb)
      Locked IO Pages:       112   (     448 Kb)
 Free System PTEs:    45089   (  180356 Kb)
      Free NP PTEs:         5145   (   20580 Kb)
      Free Special NP:       336   (    1344 Kb)
      Modified Pages:        714   (    2856 Kb)
      NonPagedPool Usage:    877   (    3508 Kb)
      NonPagedPool Max:     6252   (   25008 Kb)
      PagedPool 0 Usage:     729   (    2916 Kb)
      PagedPool 1 Usage:     432   (    1728 Kb)
      PagedPool 2 Usage:     436   (    1744 Kb)
      PagedPool Usage:      1597   (    6388 Kb)
      PagedPool Maximum:   13312   (   53248 Kb)
      Shared Commit:        1097   (    4388 Kb)
      Special Pool:          229   (     916 Kb)
      Shared Process:       1956   (    7824 Kb)
      PagedPool Commit:     1597   (    6388 Kb)
      Driver Commit:         828   (    3312 Kb)
      Committed pages:     21949   (   87796 Kb)
      Commit limit:        36256   (  145024 Kb)

所有内存使用情况都以页和千字节为单位列出。 此显示中最有用的信息如下:

参数 含义
物理内存 系统中的物理内存总量。
可用页面数 系统中可用的虚拟内存和物理内存页数。
非分页池使用情况 分配给非分页池的页面量。 非分页池是无法交换到分页文件的内存,因此它必须始终占用物理内存。 如果此数字过大,通常表明系统中某处存在内存泄漏。