Host Throttling: High process memory

Microsoft.BizTalk.Server.2010.MessageAgentHighProcessMemory.PerformanceMonitor (UnitMonitor)

This error indicates that at least one of the BizTalk server processes in the affected computer is being throttled for significant periods because of high process memory.

Knowledge Base article:

Summary

Monitoring of the "BizTalk:Message Agent\High process memory" counter over a series of samples has indicated that the threshold defined has been consistently exceeded over that period of time.

Configuration

This monitor watches the value of the "BizTalk:Message Agent\High process memory" counter for all host instances. That counter has a value of "1" or "0" based on whether the thresholds have been meet/exceeded or not (respectively). If the average value over 30 samples exceeds the preset threshold, which is set to 0.6 by default, then the state will change from healthy to critical. This monitor is configured by default to generate an alert when the state is changed to critical.

Causes

The memory consumption of the process has exceeded the preset limit. If the limit is specified as a percent of available memory, this could be due to a small page-file size, inadequate physical memory, some other program on the same machine taking a lot of memory, or a combination of all.

Resolutions

External

Host Throttling Performance Counters: http://technet.microsoft.com/en-us/library/aa578302.aspx

How to Modify the Default Host Throttling Settings: http://technet.microsoft.com/en-us/library/aa559628.aspx

Throttling Design Recommendation: http://technet.microsoft.com/en-us/library/aa547859.aspx

Element properties:

TargetMicrosoft.BizTalk.Server.2010.BizTalkApplicationService
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NameBizTalk:Message Agent
Counter NameHigh process memory
Frequency60
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.AverageThreshold
RemotableTrue
AccessibilityPublic
Alert Message
One of the BizTalk server processes in the affected computer is being throttled for significant periods because of high process memory size exceeding the threshold.
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.BizTalk.Server.2010.MessageAgentHighProcessMemory.PerformanceMonitor" Accessibility="Public" Enabled="true" Target="BTSLib!Microsoft.BizTalk.Server.2010.BizTalkApplicationService" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Perf!System.Performance.AverageThreshold" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.BizTalk.Server.2010.MessageAgentHighProcessMemory.PerformanceMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="BTSLib!Microsoft.BizTalk.Server.2010.ServerRole"]/ComputerName$</ComputerName>
<CounterName>High process memory</CounterName>
<ObjectName>BizTalk:Message Agent</ObjectName>
<InstanceName>$Target/Property[Type="BTSLib!Microsoft.BizTalk.Server.2010.BizTalkApplicationService"]/BizTalkHostName$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>60</Frequency>
<Threshold>0.6</Threshold>
<NumSamples>30</NumSamples>
</Configuration>
</UnitMonitor>