Debugging Tools for Windows

!lookaside

!lookaside扩展可以显示look-aside lists的信息、重置look-aside list的计数器、或者改变look-aside list的深度。

语法

!lookaside [Address [Options [Depth]]] 

参数

Address
指定要使用的look-aside lists的16进制地址。如果Address为0或者省略,则显示所有的系统look-aside list。
Options
控制要进行的操作。支持下面这些可能的Options 。默认值为0:
0
显示指定的look-aside list 的信息。 (如果Address为0,则显示所有系统look-aside list。)
1
重置指定look-aside list的计数器。
2
改变指定look-aside list 的深度。该选项只有在Address非0时可以使用。
Depth
设置给定的look-aside list的最大深度。该参数仅在Addres非0,并且Options等于 2时可用。

DLL

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

注释

Look-aside list是一种用于管理固定大小的分页或非分页内存池的多处理器安全的机制。

由于在大多数平台上都不使用自旋锁(spin lock),所以look-aside list是高效的。

注意如果look-aside list的当前深度大于它的最大深度,则释放关联到该list的结构时会释放到池内存中,而不是释放到list内存中。

下面是该扩展的输出示例:

kd> !lookaside e0000165f7621800

Lookaside "" @ e0000165f7621800 "Ntfs"
    Type     =     0011 PagedPool RaiseIfAllocationFailure
    Current Depth  =        0   Max Depth  =        4
    Size           =      488   Max Alloc  =     1952
    AllocateMisses =        3   FreeMisses =        0
    TotalAllocates =        4   TotalFrees =        4
    Hit Rate       =       25%  Hit Rate   =      100%

附加信息

关于look-aside list的信息,查看Windows Driver Kit (WDK) 文档,以及 Mark Russinovich 和David Solomon编写的Microsoft Windows Internals

Build machine: CAPEBUILD