Perfmon “% İşlemci Süresi” sayacı nasıl% 100'ün üzerinde olabilir?


9

Sayaç,, Process(sqlservr)\% Processor Timeveritabanı sunucularımın birinde% 300 civarında geziniyor. Bu sayaç, SQL Server'ın CPU'da (kullanıcı modu + ayrıcalık modu) çalışmak için harcadığı toplam sürenin yüzdesini yansıtır. Sql Server 2008 Dahili ve Sorun Giderme adlı kitap, % 80'den büyük her şeyin bir sorun olduğunu söylüyor.

Bu sayacın% 100'ün üzerinde olması nasıl mümkün olabilir?

Yanıtlar:


21

Aynı ada sahip iki sayaç var:

Process\% Processor Time: Her bir işlemci üzerindeki işlemci süresi toplamı

Processor(_Total)\% Processor Time: Tüm işlemciler için toplam

Sorunuz ilk sayacı kullandığınızı gösteriyor, yani maksimum değeri% 100 * (CPU sayısı yok).

Yani 4 CPU'nuz varsa, toplam maksimum% 400'dür ve% 80 aslında (400 * 0.8 =)% 320'dir (ve 8 CPU için% 640 vb.)


Evet! Bu kadar. 8 CPU'm var. Yani benim sqlservr toplam CPU kullanımı aslında yaklaşık% 37. Ve bu her şeyin normal olduğu anlamına gelir. Teşekkürler @Farseeker!
Bill Paetzke

İstediğin zaman. Çoklu-cpu sistemlerinde perfmon'u ilk kullanmaya başladığımda benzer sorgularım vardı.
Mark Henderson

2
CPU sayısı hiper iş parçacığı içeriyor mu? Örneğin, bilgisayarım dört çekirdekli ve hiper iş parçacığım varsa, 4 proc veya 8'i hesaba katmalı mıyım?
Matthew Rodatus

1
% 0 ile% 100 arasında bir değere sahip tek bir işlemin işlemci kullanımını bulmanın bir yolu var mı (aka: tüm CPU'lara yayılma yükünü gösterir)?
Bölmeyi

0

Bu değer, (Mantıksal CPUS No * 100) taban çizgisi üzerinden hesaplanır, Bu yüzden bu, 100'den fazla bir taban çizgisi üzerinden hesaplanır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.