Общий процент времени DPC операционной системы

Microsoft.Linux.Universal.OperatingSystem.TotalPercentDPCTime.Monitor (UnitMonitor)

Монитор "Общий процент времени DPC операционной системы", универсальные компьютеры Linux

Knowledge Base article:

Сводка

Высокое значение "Общий процент времени DPC" (у всех процессоров). Производительность системы может существенно снизиться.

Общее время DPC — это время, которое все процессоры затратили на получение и обслуживание вызовов отложенных процедур (DPC). DPC — это прерывания с более низким приоритетом, чем обычные прерывания. Значение "% времени DPC" входит в состав значения "% времени работы в привилегированном режиме", поскольку вызовы DPC выполняются в привилегированном режиме. Если высокое значение процента времени DPC сохраняется постоянно, то узким местом может быть процессор либо существует проблема с приложением или оборудованием, которая существенно снижает общую производительность системы.

Пороговое значение монитора анализируется путем усреднения значений, возвращаемых при опросе агента. При этом параметр "Число выборок" определяет число образцов, участвующих в вычислении среднего значения. Значение, возвращаемое агентом, — это скользящее среднее 5 последних значений, полученных по запросу с минутным интервалом.

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

Конфигурация по умолчанию

Параметр

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

Пороговое значение

15

Интервал (секунд)

300

Число выборок

3.

Для изменения значений определенных выше параметров для всех экземпляров или отдельных экземпляров и групп могут использоваться переопределения.

Причины

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

Решения

Для определения основной причины высокого уровня времени DPC выполните описанные ниже действия. Выясните часть процессорного времени, которое тратится на обслуживание прерываний и DPC. Чтобы сделать это, следите за указанными метриками:

Сравните значения метрик "Общий процент времени прерываний" и "Общий процент времени DPC" со значением "Процессор\Общий процент загруженности процессора".

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

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

Element properties:

TargetMicrosoft.Linux.Universal.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Слишком большое значение общего процента времени на отложенные вызовы процедур (DPC)
Было превышено пороговое значение счетчика производительности "Процессор\\% времени DPC\_Всего". Значение, превысившее порог, — {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Linux.Universal.OperatingSystem.TotalPercentDPCTime.Monitor" Accessibility="Public" Target="Universal!Microsoft.Linux.Universal.OperatingSystem" TypeID="Unix!Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType" Enabled="true" ParentMonitorID="SystemHealth!System.Health.PerformanceState">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Linux.Universal.OperatingSystem.TotalPercentDPCTime.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState HealthState="Success" MonitorTypeStateID="UnderThreshold" ID="UnderThreshold"/>
<OperationalState HealthState="Error" MonitorTypeStateID="OverThreshold" ID="OverThreshold"/>
</OperationalStates>
<Configuration>
<TargetSystem>$Target/Host/Property[Type="Unix!Microsoft.Unix.Computer"]/NetworkName$</TargetSystem>
<Uri>http://schemas.microsoft.com/wbem/wscim/1/cim-schema/2/SCX_ProcessorStatisticalInformation?__cimnamespace=root/scx</Uri>
<Filter/>
<SplitItems>true</SplitItems>
<Interval>300</Interval>
<ObjectName>Processor</ObjectName>
<CounterName>% Interrupt Time</CounterName>
<InstanceName>_Total</InstanceName>
<InstanceProperty>/DataItem/WsManData/*[local-name(.)='SCX_ProcessorStatisticalInformation']/*[local-name(.)='Name']</InstanceProperty>
<Value>$Data/WsManData/*[local-name(.)='SCX_ProcessorStatisticalInformation']/*[local-name(.)='PercentDPCTime']$</Value>
<Threshold>15</Threshold>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>