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

Microsoft.Linux.SLES.9.Processor.PercentDPCTime.Monitor (UnitMonitor)

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

Knowledge Base article:

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

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

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

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

Настройка

Мониторинг отдельных процессоров по умолчанию отключен. Включите мониторинг, включив обнаружение объектов "Обнаружение процессора SUSE Linux Enterprise Server 9".

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

Параметр

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

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

15

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

300

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

3

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

Причины

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

Устранение

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

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

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

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

Element properties:

TargetMicrosoft.Linux.SLES.9.Processor
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.Processor.PercentDPCTime.Monitor" Accessibility="Public" Target="Microsoft.Linux.SLES.9.Processor" 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.Processor.PercentDPCTime.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>$Target/Property[Type="Unix!Microsoft.Unix.Processor"]/PerfmonInstance$</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>