Debugging Tools for Windows

!sysptes

!sysptes扩展显示系统页表项(PTE)格式化后的信息。

语法

!sysptes [Flags

参数

Flags
指定显示的详细级别。Flags可以是下面这些位的任意组合。默认值为0:
Bit 0 (0x1)
显示空闲PTE的信息。
Bit 1 (0x2)
(仅Windows 2000) 在页面使用统计中显示未使用的页面。
(Windows XP和之后) 在global special pool 中显示空闲PTE信息。
Bit 2 (0x4)
显示所有分配来用于映射锁定页面(locked pages)的系统PTE的详细信息。
Bit 3 (0x8)
(仅Windows 2000 和Windows XP) 显示nonpaged pool expansion free PTE information。如果设置了这个位,则不显示其他列表。如果同时设置了0x1和0x8,则显示所有的nonpaged pool expansion free PTE。如果只设置0x8,则仅显示总数。
Bit 4 (0x10)
(Windows Vista 和之后) 显示会话的special pool free PTE信息。

DLL

Windows 2000 Kdextx86.dll
Windows XP和之后 Kdexts.dll

注释

要查看指定的PTE,使用!pte扩展。

下面是Windows 2000系统的示例:

kd> !sysptes 1

System PTE Information
  Total System Ptes 50962
     SysPtes list of size   1 has 389 free
     SysPtes list of size   2 has  95 free
     SysPtes list of size   4 has  55 free
     SysPtes list of size   8 has  35 free
     SysPtes list of size  16 has  27 free
 
    starting PTE: c03c7000
    ending PTE:   c03f8c44

loading (99% complete)

      free ptes: c03c8d60   number free: 45134.

  free blocks: 1   total free: 45134    largest free block: 45134

     Page    Count
       a0        2.
       a1        2.
       a2        2.
       a3        2.
......

在Windows XP和之后版本的Windows中,除了不包含末尾的页面计数统计之外,输出是类似的。下面是Windows XP系统上的示例:

kd> !sysptes 1

System PTE Information
  Total System Ptes 571224
     SysPtes list of size 1 has 361 free
     SysPtes list of size 2 has 91 free
     SysPtes list of size 4 has 48 free
     SysPtes list of size 8 has 36 free
     SysPtes list of size 9 has 29 free
     SysPtes list of size 23 has 29 free
 
    starting PTE: fffffe0059388000
    ending PTE:   fffffe00597e3ab8

      free ptes: fffffe0059388000   number free: 551557.
      free ptes: fffffe00597be558   number free: 104.
      free ptes: fffffe00597d2828   number free: 676.

  free blocks: 3   total free: 552337    largest free block: 551557

附加信息

关于页表和PTE的信息,查看Mark Russinovich 和David Solomon 编写的Microsoft Windows Internals

Build machine: CAPEBUILD