Print Spooler: Check Windows resources

Microsoft.Windows.Server.6.2.PrintServer.PrintSpoolerService.PrintSpoolerStatus.System.CheckWindowsresources.EventBased.UnitMonitor (UnitMonitor)

Check Windows resources.

Knowledge Base article:

Summary

Windows printing could not allocate sufficient resources for an operation or was processing an upgrade. No immediate action is required.

Resolutions

If problems persist, determine whether the computer is low on system resources such as CPU resources, disk I/O performance, or memory.

To identify what is causing the system to be low on resources, you can generate a System Diagnostics Report by using Reliability and Performance Monitor, or you can use Resource Monitor to determine (in real time) which applications or services are utilizing too many system resources.

To generate a System Diagnostics Report, which will present system information collected for 60 seconds, use the procedure in the following section (\Generate a System Diagnostics Report\). To use Resource Monitor to monitor system resources in real time, use the procedure in the \Start Resource Monitor\ section.

To perform these procedures, you must have membership in Administrators, or you must have been delegated the appropriate authority.

Generate a System Diagnostics Report

To collect system information for 60 seconds and generate a System Diagnostics Report:

Start Resource Monitor

To start Resource Monitor:

Important: Resource Monitor stops collecting information while a System Diagnostics Report is being generated. To start collecting information after a System Diagnostics Report has completed, click Start in Monitor.

Element properties:

TargetMicrosoft.Windows.Server.6.2.PrintServerRole
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Print Spooler Status Alert
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.6.2.PrintServer.PrintSpoolerService.PrintSpoolerStatus.System.CheckWindowsresources.EventBased.UnitMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.Server.6.2.PrintServerRole" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.6.2.PrintServer.PrintSpoolerService.PrintSpoolerStatus.System.CheckWindowsresources.EventBased.UnitMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Negative" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
<OperationalState ID="Success" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Microsoft-Windows-PrintService/Admin</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-PrintService</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(362|369)$</Pattern>
</RegExExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Microsoft-Windows-PrintService/Operational</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-PrintService</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(312|313)$</Pattern>
</RegExExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>