Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Process mit der grössten CPU Belastung rausfinden. Wie? (https://www.delphipraxis.net/15419-process-mit-der-groessten-cpu-belastung-rausfinden-wie.html)

aMuTeX 28. Jan 2004 14:08


Process mit der grössten CPU Belastung rausfinden. Wie?
 
Hallo

Wie kann ich den Process mit der grössten CPU-Belastung finden?

Oder einfacher: Wie kriege ich eine Liste mit allen Prozessen und deren CPU Last?

Ich bin für jeden Tipp / Ansatz dankbar.

choose 28. Jan 2004 14:41

Re: Process mit der grössten CPU Belastung rausfinden. Wie?
 
Hallo aMuTeX,

vielleicht helfen Dir die Beiträge aus dem Thread CPU-Auslastung eines Prozesses schon weiter?

aMuTeX 28. Jan 2004 15:26

Re: Process mit der grössten CPU Belastung rausfinden. Wie?
 
Zitat:

Hallo aMuTeX,

vielleicht helfen Dir die Beiträge aus dem Thread CPU-Auslastung eines Prozesses schon weiter?
Ja Danke. Die hab ich schon gesehen. Nur ist das wirklich die einzige Möglichkeit? Die ganze Liste zweimal durchgehen und mit GetProcessTimes die Zeiten vergleichen? Das ist ziemlich umständlich.

Evtl. gibt noch eine bessere Idee. Was ist z.B. mit PerfMonitor/PerformanceCounters von WinNT? Wäre es damit möglich? Das ganze PerfMonitor Zeugs scheint mir auf den ersten Blick etwas kompliziert. Gibts da ein einfaches Tutorial?

choose 28. Jan 2004 15:38

Re: Process mit der grössten CPU Belastung rausfinden. Wie?
 
Zitat:

Zitat von aMuTeX
Die ganze Liste zweimal durchgehen und mit GetProcessTimes die Zeiten vergleichen?

Das verstehe ich nicht ganz... Die Suche nach dem größten Element innerhalb einer unsortieren linearen Struktur hat doch die Komplexität O(n)=n:
Delphi-Quellcode:
var
  i: Integer;
begin
  Assert(Length(AnArray)>0);
  // store initial values
  Result:= Low(AnArray);
  // check against remaining elements
  for i:= Succ(Low(AnArray)) to High(AnArray) do
    if AnArray[i]>AnArray[Result] then
      Result:= i;
(Beispiel dient lediglich der Anschauung)

aMuTeX 28. Jan 2004 16:06

Re: Process mit der grössten CPU Belastung rausfinden. Wie?
 
Zitat:

Das verstehe ich nicht ganz...
Ich meinte eigentlich zweimal weil man mit GetProcessTimes ja zweimal die Zeiten erfassen muss und dann die Differenz mit der Messzeit verrechnen ((t2-t1)/dt). Das heisst zweimal die ganze Liste speichern und dann vergleichen. Und wehe wenn zwischenzeitlich ein Process beendet/gestartet wurde....

choose 28. Jan 2004 16:11

Re: Process mit der grössten CPU Belastung rausfinden. Wie?
 
Sorry, dazu kann ich Dir leider nichts sagen :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:20 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