Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi WMI CPU-Usage (https://www.delphipraxis.net/95752-wmi-cpu-usage.html)

Centrii 12. Jul 2007 15:38


WMI CPU-Usage
 
Hallo

Hab da mal eine Frage.....
Ich lese einige Informationen aus dem WIN32_Process aus. Leider find ich dort nirgendwo irgendwas mit CPU Usage. Muss ich mir jetzt die KernelModeTime und die UserModeTime holen und die addieren?
Oder komm ich auf andere Weise zu meiner gewünschten Information ??? :?: :?:

Vielen Dank für Eure Antworten

Gruß Ruben

himitsu 15. Jul 2007 13:21

Re: WMI CPU-Usage
 
Soweit ich das rsehn hab, gibt's dieses nicht direkt.

aber so schlimm ist es doch nicht?

hol dir die nötigen Zeiten und rechne es einfach aus.

- Startzeiten holen
- etwas warten (Messdauer)
- Endzeiten auslesen

Auslastung_in_% = Messdauer / (Endzeit - Startzeit) * 100

Centrii 16. Jul 2007 06:50

Re: WMI CPU-Usage
 
danke für die Antwort
sowas in der Art hab ich mir schon gedacht, werde es heute gleich mal ausprobieren

Gruß
Ruben

Centrii 16. Jul 2007 07:23

Re: WMI CPU-Usage
 
nochmal ich...

himitsu, kannst du mir vielleicht sagen wie ich an Startzeit und Endzeit komme. Ich find in der WIN32_Prozess nur Kernel und UserModeTime und die liefern "null" zurück. Ich hab das auch mal mit dem WMI CMI Studio versucht. :gruebel:

Gruß

Ruben

Centrii 17. Jul 2007 08:42

Re: WMI CPU-Usage
 
Hat keiner ne Idee wie ich die CPU-Usage berechne?? Die CPUTime bekomm ich raus zu jedem Prozess, ich finde aber keinen Weg wie ich über die CPU-Time zur CPU-Usage komme...

Bin über jeden Tipp dankbar :wink:

Gruß

Ruben

himitsu 17. Jul 2007 19:50

Re: WMI CPU-Usage
 
falls du keinen Wert für die gesamte CPU-Laufzeit findest, dann kannst du auch den (virtuellen) Leerlaufprozess verwenden also

CPU_in_% = 100% - Auslastung_des_Leerlaufprozesses_in_%


für Start-/Endzeit brauchst du nur einen RealTime-Counter/Uhr zu verwenden.
GetTickCount, Now und andere Uhren/Counter wäre dafür geeignet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz