DPC Zamanı Yüzdesi'ni izler.
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.
Yüksek bir % DPC Zamanı, aşağıdakilerden bir veya birkaçından kaynaklanabilir:
İşlemci performansı sorunu
Yazılımla ilgili sorun
Donanım veya cihaz sürücüsü ile ilgili sorun
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:
İşlemci Bilgisi\% İşlemci Zamanı
İşlemci Bilgisi\% Kesme Zamanı
İşlemci Bilgisi\% DPC Zamanı
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.
Target | Microsoft.Windows.Server.10.0.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Instance Name | Processor Information | ||
Counter Name | \% DPC Time | ||
Frequency | 120 | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | System.Performance.ConsecutiveSamplesThreshold | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>