![]() |
Performance Counter
Hallo,
diesmal wende ich mich gleich mit zwei Fragen an Euch, die aber (wahrscheinlich?) zusammenhängen. Am besten ein konkretes Beispiel: Im Objekt "Prozess" gucke ich mir die "Prozessorzeit (%)" an. Sie ist vom Datatyp Perf_Obj_Time_Timer. 1. Ich kriege da maasige Werte. Der kleinste liegt über 300.000,00% (!?). Warum sind das soviele Werte und was bedeuten die einzelnen. 2. Wie kriege ich nun die "richtige" Prozentzahl? Nach dem perfmon müsste das so um die 1% sein. Es ist natürlich nicht schwer, das nach der entsprechenden Formel zu berechnen. Nur, wo kriege ich die Variablen her? Kann mir da jemand einen Tipp geben? (Delphi 7 pro) Gruß Mattze |
AW: Performance Counter
War Quark - Wenn es ein Perf_Obj_Time_Timer ist, sollte eigentlich einen Prozentwert da sein ...
|
AW: Performance Counter
Hallo,
statt einer Antwort von mir, etwas von Microsoft: 1. "Prozentuale Angabe der verstrichenen Prozessorzeit, die zum Ausführen eines Threads benötigt wird, der sich nicht im Leerlauf befindet. Der Leistungsindikator wird berechnet, indem der Prozentwert der Zeit gemessen wird, die der Prozessor zum Ausführen des Threads im Leerlauf benötigt. Dieser Wert wird dann von 100 % subtrahiert. (Jeder Prozessor besitzt einen Leerlaufthread, der Zyklen belegt, wenn keine anderen Threads ausgeführt werden können.) Dieser Leistungsindikator ist die primäre Anzeige der Prozessoraktivität und zeigt die durchschnittliche prozentuale Belegung während des Abtastintervalls an. Es sollte beachtet werden, dass die Berechnung, ob der Prozessor sich im Leerlauf befindet, in einem internen Abtastintervall der Systemuhr (10 ms) durchgeführt wird. Da die Prozessoren heute sehr schnell sind, kann der Leistungsindikator daher die Prozessorauslastung unterschätzen, da der Prozessor möglicherweise viel Zeit mit dem Bedienen von Threads zwischen dem Systemuhr-Abtastintervall aufwendet. Arbeitslastbasierte Zeitgeberanwendungen sind ein Beispiel für Anwendungen, bei denen eine nicht genaue Messung wahrscheinlicher ist, da Zeitgeber unmittelbar nach dem Abtasten signalisiert werden." 2. ![]() Da steht was von "Prozent" oder sehe ich das falsch? Gruß Mattze |
AW: Performance Counter
hallo,
also ich habe diese thread gefunden, nur mal überflogen. ![]() performancen counter scheint doch schwerer als gedacht. mfg frank |
AW: Performance Counter
Hallo frakyboy1974,
eben, genau das ist das Problem. Ich dachte (hoffte) auch, es wäre ziemlich einfach und geradlinig zu machen. Denkste! Aber nicht mit MS! Ich will da mal ein Sprichwort anpassen: Versuche es gründlich rauszukriegen, wenn du Zeit hast, dann weißt du es und kannst es, wenn es mal dringend gemacht werden muss. ("Spare in der Zeit, dann hast du in der Not!") Also, ich habe da schon vieles abgeklappert. Jetzt werde ich mal gucken, ob ich etwas in (v)c(pp)-Beispielen finde. Fertige Klassen (c#) helfen da leider nicht! Übrigens: Auch im WMI zeigt der da "Mrd-Prozente" an! Evtl. muss man da 2 Snapschüsse kurz hintereinander machen und dann die entsprechenden Instanzen nach der Formel berechnen. Fragt sich aber, welche Instanz der perfmon anzeigt und warum diese. Fragen über Fragen, nur keine Antwort... Gruß Mattze |
AW: Performance Counter
|
AW: Performance Counter
Hallo,
vielen Dank. Das war aber nicht das Problem. Das GetCPUUsage (auch für einzelne Kerne) habe ich schon lange. Die "Prozessorzeit (%)" aus den PerformanceCountern ist etwas gaaaanz anderes. Außerdem würde mich das Rechenprinzip für Perf_Obj_Time_Timer, und nicht nur für diesen Datentyp, interessieren, nicht, wie man das umgehen kann. Gruß Mattze |
AW: Performance Counter
Hallo hathor,
vielen Dank. So was habe ich gesucht - und nicht gefunden. Unter Win 7 pro kriege ich es nicht installiert. Er scheint es zwar zu machen, aber ich finde es nicht. Ich habe mal kurz rübergeschaut. Au-weiha! Einiges für mich zu tuten! Aber das packe ich schon. Hoffentlich macht es eben nicht nur die direkt verwendbaren RawData und die wenigen Deltas. Nun, schaun mer mal... Gruß Mattze |
AW: Performance Counter
PerfMonClient.exe - Rechtsklick: Als Administrator ausführen
|
AW: Performance Counter
Hallo hathor,
habe ich natürlich gestern probiert. Stand auch irgendwo. Aber, ich finde trotzdem nix in der Verwaltung. Gucke ich an der richtigen Stelle? Muss evtl. ein Neustart nach Install sein? Gruß Mattze |
AW: Performance Counter
Liste der Anhänge anzeigen (Anzahl: 1)
Nach dem Installieren wird der Button "Install" grau.
Mit Regedit findet man den Eintrag: |
AW: Performance Counter
Hallo,
"raus haben" kann man nicht sagen, aber ich weiß jetzt, wie es zu machen ist. Ich habe im Netz eine cpp-Source gefunden (perf_data.cpp), die das mit allen Countern vorführt. Mit dem Perf-Obj_Time_Timer habe ich mir natürlich einen der komplizierteren rausgesucht, der 2 Snapshots braucht. Nun, schaun mer mal... Momentan knabbere ich an der Frage, wieso es so viele Instanzen gibt und was die eigentlich aussagen. Z. Bsp. hat die "Prozessorzeit (%)" bei mir (win 7 pro) 95 Instanzen. (Gemeint: Das Objekt "Process" - Win32_PerfRawData_PerfProc_Process - hat 95 Instanzen. Alle, natürlich, mit dem gleichen Datensatz und, natürlich, unterschiedlichen Werten.) Wieso so viele (Win-OS-abhängig!)? Gruß Mattze |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz