AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0
Thema durchsuchen
Ansicht
Themen-Optionen

Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

Ein Thema von Cylence · begonnen am 27. Mai 2010 · letzter Beitrag vom 19. Apr 2013
Antwort Antwort
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#1

Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

  Alt 27. Mai 2010, 14:35
Hi,

wir haben einige Programme die die CPU Usage auslesen, und die Unit AdCPUUsage oder ZYLCPUUsage verwenden, nun geht das auf allen Systemen bisher problemslos, aber auf unseren neuesten Rechnern mit i5 oder i7 Kern und Windows 7 64 Bit Version kommt nur noch 100 oder 0 % zurück sonst nichts...
kennt jemand das Problem?

Gruß

tom
Tom
Just DO it
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

Re: Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

  Alt 27. Mai 2010, 15:28
Liest du auch die Auslastung für alle Kerne aus und bildest dann den Mittelwert? Habe selbst Win7 64 bit und einen Core i7 860 und kann keine Einschränkungen im Gebrauch das adCPUUsage Unit feststellen.
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

  Alt 27. Mai 2010, 16:18
Hi,

ok das is ja schonmal was
also einmal eine Frage, wie die anderen Kerne auslesen?

ich hab da nur

CPU.CPUUssage

und mehr gibts nicht.

Bei AdCPUUsage gibts immer 0 & und bei ZylCPUUsage immer 100%

wie machst du das? kannst du ein Codebeispiel senden? wär toll

Thanks

tom
Tom
Just DO it
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#4

Re: Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

  Alt 27. Mai 2010, 16:22
AdCPUUsage hat doch genau 3 Funktionen: eine um die CPU-Werte zu aktualisieren, eine ,die die Anzahl der erkannten Kerne zurückgibt, und eine weitere für die Auslastung der CPU. (0) ist der gemittelte Wert und (1)..(32) sind die einzelnen Kerne.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

Re: Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

  Alt 27. Mai 2010, 16:46
Sicher, dass 0 der gemittelte Wert ist? Ich verwende folgenden Code, um die CPU Auslastung auszulesen. Hatte da auch erst bisschen rumprobiert, ob ich GetCPUUsage mit 0 aufrufe oder mit 1 als Startkern, aber bei mir gibt es hiermit ein korrektes Ergebnis:

Delphi-Quellcode:
function GetCPUUsage: Double;
var
  I: Integer;
  Temp: Double;
begin
  Result := 0;
  try
    untCpuUsage.CollectCPUData;
    for I := 1 to untCpuUsage.GetCPUCount -1 do
    begin
      Temp := untCpuUsage.GetCPUUsage(I - 1) * 100;
      if (Temp > 0) then
      begin
        Result := Result + Temp;
      end;
    end;
    Result := Result / (untCpuUsage.GetCPUCount -1);
  except
    Result := 0;
  end;
end;
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#6

Re: Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

  Alt 27. Mai 2010, 16:51
also bei einem Rechner mit 2 Kernen bekommt man von AdCPUUsage 3 Werte (gemittelt, Kern 1, Kern 2). Was die Indizes jetzt sind, müsste ich nachschauen. Das Beispielprogramm dabei demonstriert das schön. Wenn man jetzt noch nebenbei den Windows-Taskmanager auf der Registerkarte Systemleistung hat, kann man sehen, für was diese Werte stehen.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#7

Re: Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

  Alt 27. Mai 2010, 18:12
Also in der Unit selbst finde ich folgendes Beispiel:

Delphi-Quellcode:
procedure TTestForm.TimerTimer(Sender: TObject);
var i: Integer;
begin
    CollectCPUData; // Get the data for all processors

    for i:=0 to GetCPUCount-1 do // Show data for each processor
        MInfo.Lines[i]:=Format('CPU #%d - %5.2f%%',[i,GetCPUUsage(i)*100]);
end;
Hier wird von 0 an iteriert und der selbe Index auch an GetCPUUsage übergeben. Demnach interpretiere ich das so, dass der Index 0 für den ersten Kern / die erste CPU steht.
  Mit Zitat antworten Zitat
Benutzerbild von MuTzE.Y85
MuTzE.Y85

Registriert seit: 11. Apr 2006
152 Beiträge
 
#8

AW: Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

  Alt 19. Apr 2013, 12:25
Zwar schon alt, aber ich habe mit der Unit Probleme.

Habe das Beispiel aus der ReadMe genommen.
Es werden unter CPUCount 5 ausgelesen, was -1 ja 4 ergibt, jedoch werden mir in der Memo nur 2 angezeigt.

Weiß jemand woran das liegt?
Den Code hat Zacherl schon gepostet.

EDIT:
Hab das Problem gefunden. Ich Depp ^^
4 Zeilen müssen natürlich vorher schon exisiteren
Miniaturansicht angehängter Grafiken
cpucount.png  
LAN-PC: C2Q Q9550 @ 4004 MHz @ 1.232 V @ Mugen 2 | DFI LANParty JR P45-T2RS | G.Skill 4GB DDR2-1000 CL5 | ZOTAC GTX 280 @ GTX 285 @ 1.06 V | WD Caviar Blue 320GB / WD Caviar Black 640GB | BeQuiet DPP P7 450W | Antec Mini P180

Geändert von MuTzE.Y85 (19. Apr 2013 um 12:31 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#9

AW: Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

  Alt 19. Apr 2013, 14:04
http://bar.wikipedia.org/wiki/Haindling#Du_Depp
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#10

AW: Get CPU Usage auf i5 i7 Win7 64 immer 100& oder 0

  Alt 19. Apr 2013, 18:00
Die Function GetCPUCount zeigt bei mir (WIN 7 - 64Bit, DELPHI 2009) falsche Werte an,
deshalb durch folgende Function ersetzt.
Einen Mittelwert gibt es bei adCpuUsage nicht!

Delphi-Quellcode:
function GetCPUCount: Integer;
var MySystem: TSystemInfo;
begin
GetSystemInfo(MySystem);
Result:= MySystem.dwNumberOfProcessors;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 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