Debugging Tools for Windows

!defwrites

!defwrites扩展显示缓存管理器(cache manager)使用到的内核变量的值。

语法

!defwrites 

DLL

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

注释

当延迟写入("脏页面(dirty pages)")太大时,会造成页面写入减速(throttled)。该扩展命令允许查看是否系统到达了这个点。

下面是一个示例:

kd> !defwrites 
*** Cache Write Throttle Analysis ***

        CcTotalDirtyPages:                   0 (       0 Kb)
        CcDirtyPageThreshold:             1538 (    6152 Kb)
        MmAvailablePages:                 2598 (   10392 Kb)
        MmThrottleTop:                     250 (    1000 Kb)
        MmThrottleBottom:                   30 (     120 Kb)
        MmModifiedPageListHead.Total:      699 (    2796 Kb)

Write throttles not engaged

这种情况下,没有脏页面。如果CcTotalDirtyPages到达 1538 (CcDirtyPageThreshold的值),在脏页面变少之前,写入都会变慢。

附加信息

关于写入延迟(write throttling)的信息,查看Mark Russinovich and David Solomon 编写的Microsoft Windows Internals

关于其他缓存管理器扩展的信息,使用!cchelp扩展。

Build machine: CAPEBUILD