DPC Zamanı Yüzdesini izler
İşlemcinin % PDC Zamanı (İşlemci Bilgisi\% DPC Zamanı) eşiği aşmıştır. Genel sistem performansı önemli düzeyde düşebilir, bu da işletim sisteminin ve uygulamanın 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 düşürebilecek bir işlemci performansı sorunu veya uygulama ya da donanım ile 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
İşlemci ile ilişkili performans sayaçlarının yakın geçmişini görüntülemek için aşağıdaki görünümü kullanabilirsiniz:
İşlemci Performansı Başlatma Görünümü
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ı
% Kesme Zamanı ve % DPC Zamanı sayaçlarının değerlerini, her bir işlemci örneği için İşlemci Bilgisi\% İşlemci Zamanı ile karşılaştırın.
Bir işlemci örneği uzun bir süre %85'ten fazla olan bir % İşlemci Zamanı kullanıyor ve ayrıca zamanını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şlemci 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 farkedecektir. 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.6.2.Processor |
Parent Monitor | System.Health.PerformanceState |
Category | PerformanceHealth |
Enabled | False |
Instance Name | Processor Information |
Counter Name | \% DPC Time |
Frequency | 120 |
Alert Generate | False |
Alert Auto Resolve | True |
Monitor Type | System.Performance.ConsecutiveSamplesThreshold |
Remotable | True |
Accessibility | Public |
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.6.2.Processor.PercentDPCTime" Accessibility="Public" Enabled="false" Target="WindowsServer!Microsoft.Windows.Server.6.2.Processor" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<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>$Target/Property[Type="WindowsServer!Microsoft.Windows.Server.Processor"]/PerfmonInstance$</InstanceName>
<Frequency>120</Frequency>
<Threshold>15</Threshold>
<Direction>greaterequal</Direction>
<NumSamples>5</NumSamples>
</Configuration>
</UnitMonitor>