CPU 使用率の合計

Microsoft.Windows.Client.Vista.OperatingSystem.TotalCPUUtilization (UnitMonitor)

Processor\\% Processor Time\_Total and the System\Processor Queue Length パフォーマンス カウンタと関連付けて、このサーバーの CPU 使用率の合計を監視します。

Knowledge Base article:

概要

システム プロセッサの CPU 使用率 (Processor\% Processor Time\_Total and System Queue Length) がしきい値を超えました。しきい値を超えると、システム全体のパフォーマンスが著しく低下することがあります。このために、オペレーティング システムとアプリケーションのパフォーマンスが低下します。

構成

Total CPU Utilization 監視ルーチンは、オペレータが System\Processor Queue および Processor\% Processor Time\_Total パフォーマンス カウンタの両方のしきい値を設定できるなど、高度な構成が可能なソリューションです。複数のサンプルで連続して、両方のカウンタの値が定義されたしきい値を超えた場合は、そのモニタの状態変更が発生します。また、超過すると状態変更を発生させる連続サンプル数のしきい値も構成可能です。

Total CPU Utilization 監視ルーチンの既定のしきい値は、次のとおりです。

パラメータ

既定値

CPUQueueLengthThreshold

15

CPUPercentageThreshold

95

NumSamples

3

上記で定義されているしきい値は、上書き操作で変更できます。

原因

持続期間にコンピュータにかかる負荷が大きい場合、次のいずれかの条件によって引き起こされている可能性があります。

解決方法

プロセッサ関連のパフォーマンス カウンタの最近の履歴を見るには、次の表示を使用できます。

プロセッサ パフォーマンスの表示の開始

この問題を解決するには、管理者は次のタスクを実行できます。

1. サーバー上で実行されている各プロセッサの % Processor Utilization カウンタを評価します。これは、[タスク マネージャ] または [パフォーマンス モニタ] スナップインを使用すると実行できます。リソースを最も多く消費しているプロセスを特定し、消費リソースが正常なパフォーマンス範囲に戻るかどうかを、一定期間にわたってモニタします。戻らない場合は、アプリケーション固有の診断を行い、この問題を解決する最も適切な方法を決定します。

2. クライアントの負荷が時間の経過とともに増大し、コンピュータが要求を満たせなくなった場合は、基本的なハードウェアのアップグレードでコンピュータを最適なパフォーマンス範囲に戻すことができるかどうかを判断するパフォーマンス監視手順を実行します。

3. 製品の欠陥などによってアプリケーションが異常な状態になったと判断した場合は、アプリケーションを再起動する必要があります。問題が解決されない場合は、アプリケーション ベンダに問い合わせる必要があります。

Element properties:

TargetMicrosoft.Windows.Client.Vista.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Client.Vista.CPUUtilization.Monitortype
RemotableTrue
AccessibilityPublic
Alert Message
CPU 使用率の合計が高すぎます
Processor\\% Processor Time\_Total パフォーマンス カウンタのしきい値を超えました。しきい値を超えた値は次のとおりです。CPU の使用率 {0}\% およびプロセッサ キューの長さ {1}。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Client.Vista.OperatingSystem.TotalCPUUtilization" Accessibility="Public" Enabled="true" Target="Vista!Microsoft.Windows.Client.Vista.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Client.Vista.CPUUtilization.Monitortype" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Client.Vista.OperatingSystem.TotalCPUUtilization.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='PctUsage']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='QueueLength']$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="CPUUtilizationHigh" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="CPUUtilizationNormal" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>120</IntervalSeconds>
<TimeoutSeconds>360</TimeoutSeconds>
<TargetComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</TargetComputerName>
<CPUPercentageThreshold>95</CPUPercentageThreshold>
<CPUQueueLengthThreshold>15</CPUQueueLengthThreshold>
<NumSamples>3</NumSamples>
<CounterName>% Processor Time</CounterName>
<ObjectName>Processor</ObjectName>
<InstanceName>_Total</InstanceName>
<AllInstances>false</AllInstances>
</Configuration>
</UnitMonitor>