我正在监控 Windows 2k8 中的内存对象,并跟踪页面错误/秒计数器。是否有任何阈值来确定页面错误的数量过多?或者我应该更关注持续的高页面错误数量?
有没有更好的方法来查看页面错误?
答案1
这是一个好问题,因为了解性能监控的内存问题很困难。
首先,在查看时Page Faults/sec
要记住,这包括软故障、硬故障和文件缓存故障。大多数情况下,您可以忽略软故障(即内存位置之间的分页)和缓存故障(将文件读入内存),因为它们在大多数情况下对性能的影响有限。
内存短缺的真正计数器是硬故障,可在 下找到Memory: Page Reads/sec
。硬故障意味着进程执行被中断,因此可以从磁盘读取内存(通常意味着访问页面文件)。我认为任何持续的硬故障数量都表明内存短缺。
随着你进一步深入研究,你还可以将磁盘队列长度与硬故障进行比较,以查看磁盘读取是否进一步影响磁盘性能。要了解这一点,请查看Physical Disk: Avg. Disk Queue Length.
如果此数字大于阵列中的主轴数,则表示存在问题。但是,如果此数字仅在硬页面错误期间激增,则表示内存容量存在问题,并且不是磁盘性能。
答案2
页面错误/秒是一个相对计数器,因此您需要将其与内存利用率、磁盘 i/o 等进行比较。即使持续出现大量页面错误,也可能不表示存在性能问题(就其本身而言),因为它只是意味着请求的页面不在内存中。看看这个PAL 工具概述用于基本的 Windows 性能分析。