Univerzális Linux processzor DPC-hívásokra fordított időhányada (\%) figyelője
Túl magas a DCP idő százaléka (egyetlen processzornál). Ez negatívan befolyásolhatja a rendszerteljesítményt.
A processzor DPC-ideje az az idő, amelyet a processzor a késleltetett eljáráshívások (DPC-k) fogadásával és kiszolgálásával tölt. A DPC-ok olyan megszakítások, amelyek a normál megszakításoknál alacsonyabb prioritással futnak. A DPC-hívásokra fordított időhányad a processzor védett módú használati arányának összetevője, mert a DPC-k végrehajtása elsőbbségi módban történik. Ha a DPC-hívásokra fordított időhányad tartósan túl magas, a szűk keresztmetszet valamelyik processzor lehet, illetve olyan alkalmazás- vagy hardverprobléma állhat fent, amely az egész rendszer teljesítményét jelentősen csökkenti.
A figyelő küszöbértékének elemzése az ügynök lekérdezéseinél visszaadott értékek átlagával történik, melynek során az átlag kiszámításához használt minták számát a Minták száma paraméter határozza meg. Az ügynök által visszaadott érték az 1 perces időközönként lekérdezett 5 legutóbbi érték gördülő átlaga.
Az egyedi processzorok figyelése alapértelmezés szerint le van tiltva. A figyelés bekapcsolható az „Univerzális linuxos processzorok felderítése” nevű objektumészlelés engedélyezésével.
Alapértelmezett beállítások
Paraméter | Alapértelmezett érték |
Küszöbérték | 15 |
Intervallum hossza (s) | 300 |
Minták száma | 3 |
A fent definiált paraméterértékek felülbírálásokkal módosíthatók az összes példány, illetve adott példányok vagy csoportok esetében.
A magas DPC időt a következők okozhatják:
Nem elegendő a processzor teljesítménye
Szoftverrel kapcsolatos hiba
Hardverrel vagy eszközillesztővel kapcsolatos probléma
A magas DPC idő okának megállapításához kövesse az alábbi eljárást. Állapítsa meg, hogy a processzor mennyi időt tölt a megszakítások és a DPC-k kiszolgálásával. Ehhez figyelje a következő mérőszámokat:
Processzor\Processzoridő %-ban
Processzor\Megszakítási idő %-ban
Processzor\DPC idő %-ban
Hasonlítsa össze a Megszakítási idő %-ban és a DPC idő %-ban mérőszámok értékeit a Processzoridő %-ban értékével minden processzorpéldány esetén.
Ha a tartós processzoridő %-os aránya (_Teljes) > 85%, és a megszakítási idő %-os aránya (_Teljes) vagy a DPC idő %-os aránya (_Teljes) > 15%, a teljesítménycsökkenés okai valószínűleg a processzorok. A szűk keresztmetszetet a processzorok korszerűsítésével vagy újabb processzorok hozzáadásával lehet megszüntetni.
Ha a tartós processzoridő %-os aránya < 85%, és a megszakítási idő %-os aránya vagy a teljes DPC idő %-os aránya > 15%, a teljesítménycsökkenés oka valószínűleg egy alkalmazás vagy egy meghibásodott hardverelem.
Target | Microsoft.Linux.Universal.Processor | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Unix.WSMan.Performance.Filtered.Average.Threshold.MonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Linux.Universal.Processor.PercentDPCTime.Monitor" Accessibility="Public" Target="Universal!Microsoft.Linux.Universal.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.Universal.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>