Общий процент использования ЦП

Microsoft.Windows.Server.2003.OperatingSystem.TotalCPUUtilization (UnitMonitor)

Отслеживание общего процента использования процессора на этом сервере путем корреляции данных счетчиков производительности "Процессор\\% загруженности процессора\_Всего" и "Система\Длина очереди процессора".

Knowledge Base article:

Краткое описание

Значение загруженности процессоров системы ("Процессор\% загруженности процессора\_Всего" и "Система\Длина очереди процессора") превысило пороговое значение. Производительность системы в целом может быть значительно снижена, что приведет к снижению производительности операционной системы и приложений.

Настройка

Подпрограмма наблюдения за общей загруженностью процессора является хорошо настраиваемым решением, которое позволяет операторам устанавливать пороговые значение для счетчиков производительности "Система\Длина очереди процессора" и "Процессор\% загруженности процессора\_Всего". Когда значения обоих счетчиков превышают пороговые значения для нескольких последовательных замеров, происходит изменение состояния монитора. Количество последовательных замеров, которое должно превышать пороговое значение для изменения состояния, также настраивается.

Пороговые значения по умолчанию для подпрограммы наблюдения за общей загруженностью процессора включают:

Параметр

Значение по умолчанию

CPUQueueLengthThreshold

15

CPUPercentageThreshold

95

NumSamples

5

Обратите внимание, что для изменения любого из вышеперечисленных пороговых значений могут использоваться переопределения.

Причины

Когда компьютер находится под рабочей нагрузкой значительное время, это может быть вызвано следующим:

Решения

Чтобы просмотреть в журнале последние данные для счетчиков производительности, связанных с процессором, можно использовать следующее представление:

Запустить представление "Производительность процессора"

Для устранения данной проблемы администратор может выполнить следующее:

1) Оценить значение "% загруженности процессора" для каждого запущенного на сервере процесса. Это можно сделать при помощи диспетчера задач или оснастки "Наблюдение за производительностью". Определите, какой процесс использует больше ресурсов и понаблюдайте за ним некоторое время, чтобы определить, возвращается ли потребление ресурсов в нормальный диапазон. Если нет, следует провести дополнительную диагностику конкретного приложения, чтобы определить наиболее подходящий способ устранения проблемы.

2. Если установлено, что клиентская нагрузка со временем увеличивается, и компьютер больше не может удовлетворять всем требованиям, выполните дополнительные процедуры наблюдения за производительностью, чтобы определить, могут ли обновления основного оборудования позволить компьютеру вернуться в рамки оптимальной производительности.

3. Если было установлено, что приложение перешло в состояние ошибки, возможно из-за ошибки в программном-обеспечении, возможно потребуется перезапустить приложение. Если проблема останется, возможно потребуется обратиться к поставщику приложения.

Element properties:

TargetMicrosoft.Windows.Server.2003.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.2003.CPUUtilization.Monitortype
RemotableTrue
AccessibilityPublic
Alert Message
Слишком высокий уровень общего использования центрального процессора
Было превышено пороговое значение счетчика производительности "Процессор\\% загруженности процессора\_Всего". Пороговое значение превышают следующие значения: {0}\% центрального процессора и длина очереди процессора {1}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.2003.OperatingSystem.TotalCPUUtilization" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.Server.2003.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.2003.CPUUtilization.Monitortype" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2003.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>300</IntervalSeconds>
<TimeoutSeconds>100</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>