监视性能计数器 Memory\Free System Page Table Entries
页表是一种数据结构,Windows Virtual Memory Manager (VMM) 使用此数据结构存储虚拟地址与内存中的物理地址之间的映射。 性能计数器 Free System Page Table Entries 是系统当前未使用的页表项数。
当系统的可用页表条目开始不足时,应用程序或驱动程序可能会有拒绝的内存请求,或者计算机可能会停止响应网络请求、并且似乎从网络中消失。 此时可能无法尝试登录系统,因为服务器可能无法响应。
通常,此问题由高内存使用率引起。 在 32 位系统上,或者在使用特殊引导开关更改操作系统默认内存管理行为的系统上,此问题可能更加常见。
可能的解决方法包括:
确保服务器上的操作系统、驱动程序和重要应用程序已应用了最新的修补程序。
确定在 BOOT.INI 中是否对操作系统使用了任何特殊的引导开关,这可能会影响系统管理虚拟内存的方式。 如果是,那么请确保这些开关是必需的,并以可能的最佳方式实现。
关于如何诊断可用系统页表条目耗尽问题的每条详细说明,请参阅文档“低页表条目问题的检测、分析和更正操作”,可以从 Microsoft 下载中心的 http://go.microsoft.com/fwlink/?LinkId=201347 中下载此文档。
如果问题继续存在,系统为 32 位并且/或者运行于 Windows Server 2012 之前的操作系统上,请考虑升级到 Microsoft Windows Server 2012 或更高版本并且/或者将工作负荷移到 64 位系统中。
Target | Microsoft.Windows.Server.6.2.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Instance Name | Memory | ||
Counter Name | Free System Page Table Entries | ||
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.6.2.OperatingSystem.MemoryFreeSystemPageTableEntries" Accessibility="Public" Enabled="true" Target="WindowsServer!Microsoft.Windows.Server.6.2.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.6.2.OperatingSystem.MemoryFreeSystemPageTableEntries.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>Free System Page Table Entries</CounterName>
<ObjectName>Memory</ObjectName>
<InstanceName/>
<Frequency>300</Frequency>
<Threshold>5000</Threshold>
<Direction>lessequal</Direction>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>