Memory allocation failure

Microsoft.Windows.Server.RRAS.Memoryallocationfailure (UnitMonitor)

The Network Address Translation (NAT) protocol encountered a memory allocation failure.

Knowledge Base article:

Management Pack
Summary
The Network Address Translation (NAT) protocol encountered a memory allocation failure.
 
Causes
The most common reason for this error is there is not enough available memory in the system.
 
Resolutions
If the server is low on memory, take appropriate action to increase the available memory. See Help and Support Center for information on low memory.
 
Sample Event
Sample Event#1: The DHCP allocator was unable to allocate %1 bytes of memory.This may indicate that the system is low on virtual memory,or that the memory-manager has encountered an internal error.
Sample Event#2: The DNS proxy agent was unable to allocate %1 bytes of memory.This may indicate that the system is low on virtual memory,or that the memory-manager has encountered an internal error.
Sample Event#3: The Network Address Translator (NAT) was unable to allocate %1 bytes.This may indicate that the system is low on virtual memory,or that the memory-manager has encountered an internal error.
Sample Event#4: The H.323 transparent proxy was unable to allocate %1 bytes of memory.This may indicate that the system is low on virtual memory,or that the memory-manager has encountered an internal error.
 
© 2004 Microsoft Corporation, all rights reserved.

Element properties:

TargetMicrosoft.Windows.RemoteAccess.2012.Class.VPNServer
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.SingleEventLogManualReset2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Memory allocation failure
The Network Address Translation (NAT) protocol encountered a memory allocation failure.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.RRAS.Memoryallocationfailure" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.RemoteAccess.2012.Class.VPNServer" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.SingleEventLogManualReset2StateMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.RRAS.Memoryallocationfailure_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="EventRaised" MonitorTypeStateID="EventRaised" HealthState="Error"/>
<OperationalState ID="ManualResetEventRaised" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>System</LogName>
<Expression>
<And>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(30003|31004|32002|34002)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>SharedAccess_NAT|ipnathlp</Pattern>
</RegExExpression>
</Expression>
</And>
</Expression>
</Configuration>
</UnitMonitor>