MSMQ service cannot start due to insufficient disk space or memory.

Microsoft.MSMQ.6.3.Rule.Alert.Event2147 (Rule)

Knowledge Base article:

Summary

The service cannot start due to insufficient disk space or memory.

Causes

The MSMQ Service needs adequate memory resources to function properly.

Resolutions

Try identifying and closing other applications that may be consuming a large amount of memory. If it turns out that the MSMQ Service is the only program consuming a large amount of memory, try receiving the messages from the queues or increasing the rate of message processing.

Restart the MSMQ Service

To restart the MSMQ Service:

If a quota has been set for the Message Queuing service, try increasing it. For more information about Message Queuing computer quotas, see article 899612 in the Microsoft Knowledge Base ( http://go.microsoft.com/fwlink/?LinkId=107359).

If you continue to get this error, note any details in the event message, and then contact Microsoft Customer Service and Support (CSS). For information about how to contact CSS, see Enterprise Support ( http://go.microsoft.com/fwlink/?LinkId=52267).

Additional

For more information, see Resource Management in MSMQ Applications ( http://go.microsoft.com/fwlink/?LinkId=107361).

For more information, see Event ID 2147 ( http://technet.microsoft.com/en-us/library/dd337529(WS.10).aspx

Element properties:

TargetMicrosoft.MSMQ.6.3.Servers
CategoryAvailabilityHealth
EnabledFalse
Event_ID2147
Event Source$Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSMQ service cannot start due to insufficient disk space or memory.
{0}
Event LogApplication

Member Modules:

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

Source Code:

<Rule ID="Microsoft.MSMQ.6.3.Rule.Alert.Event2147" Enabled="false" Target="Microsoft.MSMQ.6.3.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>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.6.3.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2147</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.6.3.Rule.Alert.Event2147.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>