Memory allocation failure

Memory_allocation_failure_1_Rule (Rule)

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
CategoryEventCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue
Event LogSystem

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectEvent Default

Source Code:

<Rule ID="Memory_allocation_failure_1_Rule" Enabled="true" Target="Microsoft.Windows.RemoteAccess.2012.Class.VPNServer" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<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>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SystemCenter!Microsoft.SystemCenter.CollectEvent"/>
</WriteActions>
</Rule>