Toplam DPC Zamanı Yüzdesi

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

DPC Zamanı Yüzdesi'ni izler.

Knowledge Base article:

Özet

Sistemin % DPC Zamanı (İşlemci Bilgileri\% DPC Zamanı\_Toplam) eşiği aştı. Genel sistem performansı önemli düzeyde düşebilir, bu da işletim sistemi ve uygulama performansının düşmesine neden olur.

% DPC Zamanı, işlemcinin ertelenmiş yordam çağrılarını (DPC'ler) alırken ve bunlara hizmet verirken harcadığı zamanın yüzdesini gösterir. DPC'ler, standart kesmelerden daha düşük bir öncelikte çalışan kesmelerdir. Yüksek bir % DPC Zamanı sürdürülürse, genel sistem performansını önemli derecede kötüleştirebilecek bir işlemci performansı sorunu veya uygulama veya donanımla ilgili bir sorun olabilir.

Nedenler

Yüksek bir % DPC Zamanı, aşağıdakilerden bir veya birkaçından kaynaklanabilir:

Çözümler

Yüksek DPC'nin ana nedenini belirlemek için aşağıda özetlenen süreci izleyin.

Kesilmelere ve DPC'lere hizmet verirken harcanan işlemci zamanı oranını gözlemleyin. Bunu yapmak için Sistem Monitörünü kullanarak aşağıdaki sayaçları gerçek zamanda izleyin:

Bir işlemci örneği uzun bir süre %85'ten fazla olan bir % İşlemci Zamanı kullanıyor ve ayrıca bu zamanın %15'inden fazlasını Kesmelere ve/veya DPC'lere hizmet vererek harcıyorsa, performans darboğazının kaynağı işlemci olabilir. Bu performans sorunu, işlemciler yükseltilerek veya bilgisayara ek işlemciler eklenerek çözülebilir.

İşlemci uzun bir süre %85'ten yüksek bir % İşlemci Zamanı kullanıyor ve ayrıca bu sürenin %15'inden fazlasını kesmelere ve/veya DPC'lere hizmet vererek harcıyorsa, performans sorunu bir uygulama veya donanım ile ilgili bir sorundan kaynaklanıyor olabilir.

Sorunun ana nedeninin bir donanım cihazı olduğu durumlarda bir yönetici % DPC Zamanı'nın kısa bir süre içinde önemli düzeyde artmış olabileceğini fark edecektir. Bu, genellikle yeni bir donanım takıldığında veya sürücüler yükseltildiğinde olur. Yönetici sorunu bir donanım/cihaz sürücüsü sorununa indirgeyebilirse, sorun satıcıyla birlikte çalışılarak giderilebilir.

Kesmeleri simetrik olarak dağıtmayan çok işlemcili bir sistemi yönettiğiniz durumlarda çoğu kez, her işlem için bir bağdaştırıcı olacak şekilde ek ağ bağdaştırıcıları ekleyerek işlemci yükünü azaltabilirsiniz. Bağdaştırıcıları genellikle yalnızca sisteminizin ürettiği işi artırmanız gerektiğinde eklersiniz. Ağ bağdaştırıcıları, diğer ek donanımlar gibi bir miktar ek yük getirir. Ancak, işlemcilerden biri hemen her zaman etkinse (yani İşlemci Bilgisi: % İşlemci Zamanı = 100 ise) ve zamanının yarısından fazlasını DPC'lere hizmet vererek harcıyorsa (İşlemci Bilgisi: % DPC Zamanı > 50 ise), bağdaştırıcı eklemek, kullanılabilen ağ bant genişliği çoktan doygunluğa ulaşmamışsa, sistemin performansını iyileştirebilir.

Sorunun ana nedeninin bir uygulama olduğu durumlarda, DPC'lerin, tamamlanması önemli miktarda zaman alan bir çağrı çıkaran bir uygulama tarafından engelleniyor olduğunu görürsünüz. Bu süre içinde DPC'ler engellenir ve sıraya alınır. Sorunun ana nedeninin hangi uygulama olduğunu belirlemek için, performans sorunundan sorumlu uygulamayı kesin olarak bulmak üzere gelişmiş performans, izleme ve tanılama çalıştırmalısınız.

Element properties:

TargetMicrosoft.Windows.Server.10.0.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NameProcessor Information
Counter Name\% DPC Time
Frequency120
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Toplam DPC Zamanı Yüzdesi çok yüksek
İşlemci Bilgileri\\% DPC Zamanı\_Total performans sayacının eşiği aşıldı.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.OperatingSystem.TotalDPCTime" Accessibility="Public" Enabled="false" Target="ServervNext!Microsoft.Windows.Server.10.0.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.OperatingSystem.TotalDPCTime.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% DPC Time</CounterName>
<ObjectName>Processor Information</ObjectName>
<InstanceName>_Total</InstanceName>
<Frequency>120</Frequency>
<Threshold>95</Threshold>
<Direction>greater</Direction>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>