Free System Page Table Entries

Microsoft.Windows.Server.10.0.OperatingSystem.MemoryFreeSystemPageTableEntries (UnitMonitor)

Monitor the performance counter Memory\Free System Page Table Entries

Knowledge Base article:

Summary

A page table is the data structure used by the Windows Virtual Memory Manager (VMM) to store the mapping between virtual addresses and physical addresses in memory. The performance counter Free System Page Table Entries is the number of page table entries not currently used by the system.

When a system starts running low on free page table entries applications or drivers might have requests for memory denied, or the computer may stop responding to network requests, seeming to disappear from the network. Attempts to log onto the system may not be possible, because the server may not be able to respond.

Causes

Generally speaking, the issue is caused by high memory utilization. The issue may be more common on 32 bit systems or systems using special boot switches to change the default memory management behaviors of the operating system.

Resolutions

Possible resolutions include the following:

Element properties:

TargetMicrosoft.Windows.Server.10.0.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NameMemory
Counter NameFree System Page Table Entries
Frequency300
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Free System Page Table Entries is too Low.
The threshold for the Memory\Free System Page Table Entries performance counter has been exceeded.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.OperatingSystem.MemoryFreeSystemPageTableEntries" Accessibility="Public" Enabled="true" Target="ServervNext!Microsoft.Windows.Server.10.0.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.10.0.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>