Registriert seit: 11. Apr 2004
Ort: Kanada
136 Beiträge
Delphi 2010 Professional
|
Re: CPU- & Speicherauslastung des eigenen Programms hera
30. Jun 2006, 23:18
Damit kann man die CPU-Auslastung berechen:
Delphi-Quellcode:
var
LastTick : LongWord;
LastTime : Int64;
CPUCount : Word;
// einmal initialisieren:
Var
CreationTime,
ExitTime,
KernelTime,
UserTime : TFILETIME;
SystemInfo : TSystemInfo
Begin
LastTick:=GetTickCount();
GetProcessTimes(GetCurrentProcess(),CreationTime,ExitTime,KernelTime,UserTime);
LastTime:=Int64(KernelTime) + Int64(UserTime);
GetSystemInfo(SystemInfo);
CPUCount:=SystemInfo.dwNumberOfProcessors;
// periodisch aufrufen (z.B. jede Sekunde):
Var
CreationTime,
ExitTime,
KernelTime,
UserTime : TFILETIME;
TickDelta : LongWord;
TimeDelta : Int64;
begin
TickDelta:=GetTickCount() - LastTick;
Inc(LastTick,TickDelta);
GetProcessTimes(GetCurrentProcess(),CreationTime,ExitTime,KernelTime,UserTime);
TimeDelta:=(Int64(KernelTime) + Int64(UserTime)) - LastTime;
Inc(LastTime,TimeDelta);
Label.Caption:=Format('CPU load: %.1f %%',[TimeDelta / 10000 / CPUCount / TickDelta * 100]);
Aber was mich viel mehr interessieren würde, wäre die Arbeitsspeicherauslastung heruaszufinden.
Dazu kann ich leider nichts finden.
Codito, ergo sum. - I code therefore I am
|
|
Zitat
|