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

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

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

Knowledge Base article:

Сводка

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

Конфигурация

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

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

Параметр

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

Пороговое значение длины очереди процессора

15

Пороговое значение ЦП (%)

95

Кол-во выборок

3.

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

Причины

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

Решения

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

Откройте представление производительности "Процессор"

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

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

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

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

Element properties:

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

Source Code:

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