a bit of googling gave me this

[pascal]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
Status : TMemoryStatus;

begin
Load;

Status.dwLength := SizeOf(TMemoryStatus);
GlobalMemoryStatus(Status);

Label1.Caption := Format('Memory Load :: %d percent', [Status.dwMemoryLoad]);
Label2.Caption := Format('Total Physical :: %f mb', [Status.dwTotalPhys / 1024 / 1024]);
Label3.Caption := Format('Availible Physical :: %f mb', [Status.dwAvailPhys / 1024 / 1024]);
Label4.Caption := Format('Total Page File :: %f mb', [Status.dwTotalPageFile / 1024 / 1024]);
Label5.Caption := Format('Availible Page File :: %f mb', [Status.dwAvailPageFile / 1024 / 1024]);
Label6.Caption := Format('Total Virtual :: %f mb', [Status.dwTotalVirtual / 1024 / 1024]);
Label7.Caption := Format('Availible Virtual :: %f mb', [Status.dwAvailVirtual / 1024 / 1024]);[/pascal]