监视性能计数器 Memory\MemoryPagesPerSecond
系统在磁盘中进行内存分页的速率太高。此监视基于“Memory\Pages/sec”计数器,这是导致系统范围延迟的错误种类的主要指示器。总体系统性能可能会显著降低。
Pages/sec 为解决强制分页错误而从磁盘读取页面或将页面写入磁盘的速率。
一个或多个应用程序正在使用大量内存,系统必须在磁盘中对数据进行分页才能满足需要。
若要确定哪些进程正在迫使系统上的整体内存使用率上升,以及确定分页速率,请使用性能监视器内“进程”对象中的以下计数器:
Page Faults/sec:Page Faults/sec 是在此进程中执行的线程发生页面故障的速率。如果线程引用的虚拟内存页面不在主内存内的其工作集中,则会发生页面故障。如果页面在待机列表中,因此也已经在主内存中,或者页面被共享页面的另一个进程使用,则可能不会导致从磁盘中获取页面。
Pool Nonpaged Bytes:Pool Nonpaged Bytes 是非分页池的大小(按字节计算),是对象的系统内存区域(操作系统使用的物理内存),这些对象无法写入磁盘,但只要在分配了对象据需要将其保存在物理内存中。Memory\\Pool Nonpaged Bytes 的计算方式与 Process\\Pool Nonpaged Bytes 不同,因此,它可能不等于 Process\\Pool Nonpaged Bytes\\_Total。此计数器仅显示上次观察的值;该值不是平均值。
Pool Paged Bytes:Pool Paged Bytes 是分页池的大小(以字节计),分页池是用于不使用时可以写入磁盘的对象的系统内存区域(操作系统使用的物理内存)。Memory\\Pool Paged Bytes 的计算方式与 Process\\Pool Paged Bytes 不同,因此可能不等于 Process\\Pool Paged Bytes\\_Total。此计数器仅显示上次观察的值;该值不是平均值。
根据进一步的调查结果,解决方案可能会有所不同,并且可能包含以下其中一项:
对操作系统或应用程序应用更新,以确保解决任何已知的内存问题。
按比例缩小系统上运行的应用程序的数目,或者系统正在担负的负荷量。
向系统中添加更多 RAM。
Target | Microsoft.Windows.Server.2008.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Instance Name | Memory | ||
Counter Name | Pages/Sec | ||
Frequency | 300 | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.ConsecutiveSamplesThreshold | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.2008.OperatingSystem.MemoryPagesPerSecond" Accessibility="Public" Enabled="true" Target="Server2008!Microsoft.Windows.Server.2008.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2008.OperatingSystem.MemoryPagesPerSecond.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Warning"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Pages/Sec</CounterName>
<ObjectName>Memory</ObjectName>
<InstanceName/>
<Frequency>300</Frequency>
<Threshold>5000</Threshold>
<Direction>greaterequal</Direction>
<NumSamples>12</NumSamples>
</Configuration>
</UnitMonitor>