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

Microsoft.Linux.SLES.9.OperatingSystem.TotalPercentDPCTime.Monitor (UnitMonitor)

Монитор "Общий процент времени DPC" операционной системы SUSE Linux Enterprise Server 9

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.SLES.9.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.SLES.9.OperatingSystem.TotalPercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.9.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.SLES.9.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>