/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Forbrug af RAM
Fra : Torben Brandt


Dato : 24-05-03 23:27

Jeg forsøger at finde ud af, hvor stor en del af min RAM, der er brugt.
Jeg bruger:
var
memory: TMemoryStatus;
begin
memory.dwLength := SizeOf(memory);
GlobalMemoryStatus(memory);

Så ville jeg tro at
memory.dwMemoryLoad
og
(memory.dwTotalPhys - memory.dwAvailPhys) / memory.dwTotalPhys) * 100
var det samme, men der kan være op til 30 i forskel.

Hvad er det, de hver især viser? Og hvilken skal jeg bruge?

mvh Torben


 
 
David Konrad (17-06-2003)
Kommentar
Fra : David Konrad


Dato : 17-06-03 13:21

"Torben Brandt" <name@domain.invalid> skrev i en meddelelse
news:3ECFF19C.1040906@domain.invalid...
Jeg forsøger at finde ud af, hvor stor en del af min RAM, der er brugt.
Jeg bruger:
var
memory: TMemoryStatus;
begin
memory.dwLength := SizeOf(memory);
GlobalMemoryStatus(memory);

Så ville jeg tro at
memory.dwMemoryLoad
og
(memory.dwTotalPhys - memory.dwAvailPhys) / memory.dwTotalPhys) * 100
var det samme, men der kan være op til 30 i forskel.

Hvad er det, de hver især viser? Og hvilken skal jeg bruge?
--
Det er dwMemoryLoad der er en smule sjov, eftersom den viser det aktuelle
forbrug af al RAM relativt i forhold til den samlede mængde. Hvad de enkelte
felter i recorden udtrykker mener jeg er selvbeskrivende.

Men, for et Delphi-program synes jeg dog snarere det er mængden af
tilgængelige ressourcer der er interessant, eftersom det 999 ud af 1000
gange er det loft man støder på - brug funktionen
_MyGetFreeSystemResources32 der ligger i rsrc32.dll, f.eks

function FreeResources(mode: Integer): integer;
var _MyGetFreeSystemResources32: function(mode: Integer): integer stdcall;
DLLHandle: THandle;
begin
DLLHandle := LoadLibrary('RSRC32.DLL');
if (DLLHandle <> 0) then
begin
@_MyGetFreeSystemResources32 := GetProcAddress(DLLHandle,
'_MyGetFreeSystemResources32@4');
Result := _MyGetFreeSystemResources32(mode);
FreeLibrary(DLLHandle);
end;
end;

De forskellige modes er 0,1,2 = % fri i systemet, % GDI fri og % bruger
fri...

....Slå den op på internet.



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408195
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste