CPU 使用率

Microsoft.Windows.Server.10.0.Processor.CPUUtilization (UnitMonitor)

合計 CPU (Processor Information クラス) 使用率を監視します。

Knowledge Base article:

概要

システム プロセッサの CPU 使用率 (Processor Information\% Processor Time) がしきい値を超えました。しきい値を超えると、システム全体のパフォーマンスが著しく低下する可能性があります。その場合は、オペレーティング システムとアプリケーションのパフォーマンスが低下します。

原因

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

解決方法

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

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

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

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

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

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

Element properties:

TargetMicrosoft.Windows.Server.10.0.Processor
Parent MonitorMicrosoft.Windows.Server.10.0.Processor.PerformanceRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.10.0.Processor.Monitortype
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.Processor.CPUUtilization" Accessibility="Public" Enabled="true" Target="ServervNext!Microsoft.Windows.Server.10.0.Processor" ParentMonitorID="Microsoft.Windows.Server.10.0.Processor.PerformanceRollup" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.10.0.Processor.Monitortype" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<CounterName>% Processor Time</CounterName>
<ObjectName>Processor</ObjectName>
<InstanceName>$Target/Property[Type="WindowsServer!Microsoft.Windows.Server.Processor"]/PerfmonInstance$</InstanceName>
<Frequency>120</Frequency>
<Threshold>95</Threshold>
<NumSamples>5</NumSamples>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>