IIS: Investigate CPU Busy

IIS__Investigate_CPU_Busy_1_Rule (Rule)

Knowledge Base article:

Management Pack
Summary

This rule initiates data collection for IIS diagnosis if a Processor % CPU time is sustained for five minutes with this rule enabled. The collection runs for the default duration (default: 300 seconds), and once it's completed, a report is generated.

 
Causes

High, sustained CPU.

 
Resolutions

Use the final Server Performance Advisor report to analyze the high CPU load.  You can reconfigure this rule if necessary (e.g., in some cases, a 75% CPU load is normal. In such cases, we may want to increase the threshold value to , for instance 85%.)

 
© 2005 Microsoft Corporation. All rights reserved.

Element properties:

TargetMicrosoft.Windows.Server.PerformanceAdvisor.2003.Microsoft_Windows_Server_Performance_Advisor_2.0_Servers_Installation
CategoryPerformanceHealth
EnabledFalse
Instance NameProcessor
Counter Name\% Interrupt Time
Frequency300
Alert GenerateFalse
RemotableTrue
CommentMom2005ID='{9A32946F-02B8-4DA9-8CFB-6A789C3E20F5}';MOM2005ComputerGroupID={B2DA3206-B7C4-482E-B4E9-D1753BB1196B}

Member Modules:

ID Module Type TypeId RunAs 
_AF293CAC_16E0_4170_BCC8_A7E63F4CC038_ DataSource System.Mom.BackwardCompatibility.Performance.FilteredDataProvider Default
SimpleThresholdFilter ConditionDetection System.Performance.SimpleThresholdCondition Default
BatchResponse1 WriteAction System.Mom.BackwardCompatibility.BatchResponse Default

Source Code:

<Rule ID="IIS__Investigate_CPU_Busy_1_Rule" Target="Microsoft.Windows.Server.PerformanceAdvisor.2003.Microsoft_Windows_Server_Performance_Advisor_2.0_Servers_Installation" Enabled="false" ConfirmDelivery="false" Comment="Mom2005ID='{9A32946F-02B8-4DA9-8CFB-6A789C3E20F5}';MOM2005ComputerGroupID={B2DA3206-B7C4-482E-B4E9-D1753BB1196B}">
<Category>PerformanceHealth</Category>
<DataSources>
<DataSource ID="_AF293CAC_16E0_4170_BCC8_A7E63F4CC038_" Comment="{AF293CAC-16E0-4170-BCC8-A7E63F4CC038}" TypeID="MomBackwardCompatibility!System.Mom.BackwardCompatibility.Performance.FilteredDataProvider">
<ComputerName>$Target/Host/Property[Type="WindowsLibrary!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Interrupt Time</CounterName>
<ObjectName>Processor</ObjectName>
<InstanceName>_Total</InstanceName>
<Frequency>300</Frequency>
<Expression/>
</DataSource>
</DataSources>
<ConditionDetection ID="SimpleThresholdFilter" TypeID="PerformanceLibrary!System.Performance.SimpleThresholdCondition">
<Threshold>75</Threshold>
<Operator>Greater</Operator>
</ConditionDetection>
<WriteActions>
<WriteAction ID="BatchResponse1" TypeID="MomBackwardCompatibility!System.Mom.BackwardCompatibility.BatchResponse">
<AlertGeneration>
<GenerateAlert>true</GenerateAlert>
<Owner/>
<Description>
$Data/ObjectName$
:
$Data/CounterName$
:
$Data/InstanceName$
value =
$Data/Value$
</Description>
<AlertLevel>20</AlertLevel>
<ResolutionState/>
<Source>
$Data/ObjectName$
:
$Data/CounterName$
:
$Data/InstanceName$
</Source>
<Name>IIS: Investigate CPU Busy</Name>
</AlertGeneration>
<InvokerType>0</InvokerType>
<ApplicationName>%PROGRAMFILES%\Server Performance Advisor\spacmd.exe</ApplicationName>
<WorkingDirectory>%SYSTEMROOT%\temp</WorkingDirectory>
<CommandLine>start "iis"</CommandLine>
<TimeoutSeconds>300</TimeoutSeconds>
<RequireOutput>false</RequireOutput>
</WriteAction>
</WriteActions>
</Rule>