Avatar billede voodoo Nybegynder
01. december 2000 - 08:09 Der er 4 kommentarer

ram brugt på computeren

er der nogle der ved hvordan man får delphi til at hvise fælgene ting når programmet starter

hvor meget ram maskinen har

hvor meget physisk ram er der brugt

hvor meget physisk ram er der tilbage

hvor meget swap filen fylder

hvor meget der bliver læst på harddisken i sekundet

hvor meget der bliver skrevet på harddisken i sekundet

hvor meget der bliver læst af swap filen sekundet

i må gerne vise et eksempel
Avatar billede anders.s Nybegynder
04. december 2000 - 13:10 #1
Hej
For at få at vide hvor meget fysisk hukommelse der er ledig ville man gøre dette:
Procedure getfysmem();
var lpBuffer: TMemoryStatus;
    freemem:integer;
begin
  GlobalMemoryStatus(lpbuffer);
  freemem:=lpbuffer.dwAvailPhys;
end;

På denne måde kan du også få informationer om swap filen, udnøttelses graden mm. Desværre ikke
hvor der bliver skrevet til hardisken.

Du kan læse mere i hjælpe filen til windows SDK(følger med delphi).

Anders Salomonsen

Avatar billede borrisholt Novice
05. december 2000 - 16:45 #2
Jeg har noget C++ her til at læse Heapen med :

#include <alloc.h>
int DMHeapSize(Vulong &InUse, Vulong &InUseB, Vulong &FreeM, Vulong &FreeMB)
{
  PROCESS_HEAP_ENTRY hi;
  int i;
  HANDLE hArray[10];
  int HandleCount;
  memset(hArray, 0, sizeof(hArray));

  FreeM = 0;
  InUse = 0;
  FreeMB = 0;
  InUseB = 0;
  HandleCount = GetProcessHeaps(10, hArray);

  for(i=0; i<HandleCount; i++)
  {
      hi.lpData = NULL;
      while( HeapWalk( hArray[i], &hi ) )
      {
        if(hi.wFlags & PROCESS_HEAP_REGION)
        {
            InUse += hi.cbData;
            InUseB++;
        }
        else
        {
            FreeM += hi.cbData;
            FreeMB++;
        }
      }
  }
  return 0;
}


      Vulong InUse, InUseB, FreeM, FreeMB;
      DMHeapSize(InUse, InUseB, FreeM, FreeMB);


Jens B
Avatar billede cope21 Nybegynder
26. december 2000 - 13:34 #3
Går det helt i fisk, kan du finde kode eksempler osv på det hele på http://www.torry.ru
Avatar billede kingguro Nybegynder
03. juni 2001 - 00:14 #4
var
  Status : TMemoryStatus;
begin
  Status.dwLength := sizeof( TMemoryStatus );
  GlobalMemoryStatus( Status );
  ...

The TMemoryStatus contains several fields indicating the status of the memory:

Status.dwMemoryLoad: Total memory used in percentage (%).
Status.dwTotalPhys: Total physical memory in bytes.
Status.dwAvailPhys: Physical memory left in bytes.
Status.dwTotalPageFile: Total page file in bytes.
Status.dwAvailPageFile:Page file left in bytes.
Status.dwTotalVirtual: Total virtual memory in bytes.
Status.dwAvailVirtual: Virtual memory left in bytes.

Before presenting the memory values, you should convert them into giga, mega or kilobytes.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester