![]() |
Delphi-Version: 10 Berlin
CPU Auslastung von Diensten / Services
Hallo zusammen,
Habe mir mehrere Möglichkeiten angeschaut um die CPU Auslastung auszulesen, aber bei jeder kriege ich von normalen Programmen die Auslastung, von Diensten jedoch nicht. System: Windows 10 x64, meine Anwendung 32bit, der Dienst den ich auslesen will auch 32bit. Der Dienst Hat auch permanent CPU Auslastung, so zwischen 15 und 20% (laut Windows 10 Taskmanager und Sysinternals Processmonitor) diese Methode benutze ich grade : ![]() Die PID habe ich zum testen, beim Aufruf hardcoded. Als erstes muss die Anwendung aber über Admin-Rechte verfügen, sonst schlägt OpenProcess(...) fehl. Ich denke der Fehler liegt in der Berechnung des eigendlichen Prozenzwertes,bzw gibt es bei Diensten vielleicht eine Besonderheit: z.b:
Delphi-Quellcode:
.
function GetCPUTimeForProcess(Process: TCPULOAD): Integer;
lKernel = 6171 lUser 34515 dwTime 18528906 =(6171+34515)*100) div 18528906 =0,2195812316172363 =nach dem trunc logischerweise 0 Wenn ich die Formel auf
Delphi-Quellcode:
änder schaut es besser aus.
((lKernel+lUser)*100*100) div (dwTime)
Aber da ich Null Ahnung von GetProcessTimes() habe, und auch nichts spezielles zu Diensten gefunden habe, dachte ich, ich frage mal euch ;) |
AW: CPU Auslastung von Diensten / Services
Du brauchst natürlich gewisse Rechte, um diese Daten auslesen zu dürfen,
wenn die Prozese mit höheren Rechten laufen und/oder zu einer anderen Sitzung/Nutzeraccount gehören. Genaueres findete man in der Dokumentation (MSDN). einfache Lösung: Administator aufwändigere Lösung: nur die benötigten Privilegien besorgen GetTime arbeitet nur mit Sekunden+Millisekunden, also nach mehr einer Minute CPU-Zeit, kann da nichts mehr stimmen. |
AW: CPU Auslastung von Diensten / Services
Zitat:
und abgesehen davon ist das Beispiel "Müll" wenn es abhänig von der Laufzeit des Prozesses ist. |
AW: CPU Auslastung von Diensten / Services
Liste der Anhänge anzeigen (Anzahl: 1)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 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