有没有办法查看 Windows Server 2003 中的脏页(仍需要写入磁盘的缓存文件页)的数量?
例如,在 Windows 7 中,我可以使用性能监视器并使用“脏页”计数器(缓存计数器之一)。此计数器似乎在 Server 2003 中不可用。此外,在 Windows 7(和其他更高版本的系统)上,我可以使用Sysinternals RAMMap并有效地逐个文件查看脏页。
Server 2003 有类似的东西吗?
答案1
对这个问题进行一些搜索后,我找到了这篇知识库文章 -http://support.microsoft.com/kb/920739-
可能不是您的最佳选择,但应该可以解决您的问题,如何确定脏页的数量,您将不得不采取以下步骤 -
使用!defwrites命令内核调试器。此命令显示缓存管理器使用的内核变量的值,并显示阈值和缓存中实际脏页的值。运行此命令时,您可能会收到类似于以下内容的输出:
CcTotalDirtyPages:14(0 KB)
CcDirtyPageThreshold:130941(0 KB)
MmAvailablePages:62445(0 KB)
MmThrottleTop:450(0 KB)
MmThrottleBottom:80(0 KB)
MmModifiedPageListHead.Total:43(0 KB)
如果 CcTotalDirtyPages 值接近 CcDirtyPageThreshold 值,您可能会遇到本文中描述的问题。