内存不足导致消息队列无法发送消息。

Microsoft.MSMQ.10.0.Rule.Alert.Event2189 (Rule)

由于内存不足导致消息队列无法发送消息。

Knowledge Base article:

摘要

由于内存不足导致消息队列无法发送消息。消息队列将重新尝试发送消息。

解决方法

从其他应用程序释放内存

MSMQ 服务需要足够的内存资源才能正常运行。

尝试识别并关闭可能会消耗大量内存的其他应用程序。如果确定 MSMQ 服务是唯一占用大量内存的程序,请尝试从队列接收消息或者提高消息处理的速率。有关详细信息,请参阅 MSMQ 应用程序中的资源管理 ( http://go.microsoft.com/fwlink/?LinkId=107361)。

如果持续收到此错误,请记下事件消息中的所有详细信息,然后联系 Microsoft 客户服务和支持 (CSS)。有关如何联系 CSS 的信息,请参阅企业支持 ( http://go.microsoft.com/fwlink/?LinkId=52267)。

其他

有关详细信息,请参阅事件 ID 2189 ( http://technet.microsoft.com/zh-cn/library/dd337495(WS.10).aspx)

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
内存不足导致消息队列无法发送消息。
事件说明: {0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
GeneralAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.MSMQ.10.0.Rule.Alert.Event2189" Enabled="false" Target="Microsoft.MSMQ.10.0.Servers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.10.0.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2189</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GeneralAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.10.0.Rule.Alert.Event2189.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>