mathysjp
Goto Top

Performance Counter (Sum aller Proc zu Total) abweichung

Abweichungen der gesamt CPU Performance zu der Summe aller einzelner Prozesse.

Hallo zusammen,
ich hoffe es kann mir hier jemand eine Plausible Erklärung zu meinem Problem geben.

Fakten:
Rechner = Dual Core
OS = Win 2003 Server

Verwendete Couter:
\\A400-CPU-2\Process(sqlservr)\% Processor Time
\\A400-CPU-2\Process(TWS_ATNSServices)\% Processor Time
\\A400-CPU-2\Process(TWS_ATPC3Services)\% Processor Time
\\A400-CPU-2\Process(TWS_CSTAServices)\% Processor Time
\\A400-CPU-2\Process(TWS_EventServices)\% Processor Time
\\A400-CPU-2\Process(TWS_FlashServices)\% Processor Time
\\A400-CPU-2\Process(TWS_GenericServices)\% Processor Time
\\A400-CPU-2\Process(TWS_MediaServices)\% Processor Time
\\A400-CPU-2\Process(TWS_MiTaiRemoteSvc)\% Processor Time
\\A400-CPU-2\Process(TWS_ScriptServices)\% Processor Time
\\A400-CPU-2\Process(TWS_VTIXMLServices)\% Processor Time

\\A400-CPU-2\Processor(_Total)\% Processor Time


Ich habe folgenden Fall:
Ich messe mit dem Windows eigenen Performancemeter die CPU eines Rechners. Dazu habe ich mir unter Couter Logs einen Container zusammengestellt wo ich folgende Prozesse logge:

SQL Server
Event Services
Generic Services
Script Services
Vti Xml Services
Media Services
Flash Services
ATNS Services
ATPC3 Services
CSTA Services
MiTaiRem Services

+

ganzer PC (also CPU Total)

Die Counter sind so eingestellt das sie mir jede (1) Sekunde einen Eintrag in mein logfile (*.tsv) schreiben. Ich lasse den Test 2 Stunden aufzeichnen und stoppe die Counter danach.
Nun importiere ich die Daten alle in ein Excel und berechne mir von jedem Counter den Mittelwert über die gesamte Messdauer.
so erhalte ich als folgende Werte:

Prozessname * errechneter Mittelwert in %
SQL Server * 1.826812858
Event Services * 2.113126353
Generic Services * 0.733650784
Script Services * 0.571144469
Vti Xml Services * 0.000434071
Media Services * 0.000434071
Flash Services * 0
ATNS Services * 0.000651107
ATPC3 Services * 0.681365215
CSTA Services * 0
MiTaiRem Services * 0

(ich hoffe man sieht wie ich das meine...)

Nun, wenn ich die Summe all dieser Prozesse nehme bekomme ich 5.93% Last im Durchschnitt.
Jetzt nehme ich den Wert den ich von Processor(_Total)\% Processor Time bekommen habe. Dieser beträgt aber nur 4.54% im Durchschnitt!
Wie kann es sein das die Summe aller Prozesse größer ist als die gesamte PC Auslastung??

Ein Kollege hat mir gesagt das ich die Couterwerte die ich vom Perfmeter bekomme bei einer Dual Core CPU durch zwei teilen muss oder ergo bei einem Quad Core durch 4.
Mir will das aber nicht in den Kopf, denn die Kerne sind ja sicher nicht symmetrisch belastet.

Weiß jemand Bescheid?

Jean-Pierre

Content-Key: 123097

Url: https://administrator.de/contentid/123097

Printed on: April 25, 2024 at 18:04 o'clock

Member: exellent
exellent Aug 20, 2009 at 08:17:58 (UTC)
Goto Top
Hey,

dein Kollege hat Recht ! Zur Veranschaulichung : Geh mal in den Task Manager --> Prozesse --> Ansicht --> Spalten auswählen --> CPU Zeit anhaken. Wenn du das gemacht hast, erkennst du dass die CPU Zeit pro Sekunde bei einem Quad Core um 4 Sekunden steigt, Dual Core 2 Sekunden, usw....

Grüße

exellent
Member: mathysjp
mathysjp Aug 20, 2009 at 09:05:01 (UTC)
Goto Top
Salut Exellent,
irgendwie kann ich Dir nicht ganz folgen. Ich habe das jetzt mal so gemacht wie du das beschrieben hasst.
Ein Beispiel:
TWS_EventServices.exe springt 1min vor wenn nach meiner Stoppuhr 37sec vergangen sind.
Was bedeutet das nun für meine Messungen? Und selbst wenn das so ist, heisst das noch lange nicht das eine Applikation nun beide Kerne nutzt. Teilt man in einem solchen Fall den Wert durch 2 ist er dann falsch.

Kannst du mir das noch ein wenig genauer erläutern?


Gruss

Jean-Pierre