unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} { 总结概念: 物理内存、虚拟内存、虚地址表. 函数 GlobalMemoryStatus 可以获取它们的信息, 获取后放在 TMemoryStatus 结构中. -------------------------------------------------------------------------------- //TMemoryStatus 是 _MEMORYSTATUS 的重命名: _MEMORYSTATUS = record dwLength: DWORD; {结构长度} // dwMemoryLoad: DWORD; {表示可用内存比例的一个整数, 100 表示内存都可用} // dwTotalPhys: DWORD; {物理内存总数} // dwAvailPhys: DWORD; {可用物理内存总数} // dwTotalPageFile: DWORD; {虚拟内存总数} // dwAvailPageFile: DWORD; {可用虚拟内存总数} // dwTotalVirtual: DWORD; {虚地址表中的地址总数} // dwAvailVirtual: DWORD; {虚地址表中可用的地址总数} //end; procedure TForm1.FormCreate(Sender: TObject); var m: TMemoryStatus; const num = 1024 * 1024; begin GlobalMemoryStatus(m); Memo1.Clear; with Memo1.Lines do begin Add(Format('dwLength:' + #9 + '%d', [m.dwLength])); Add(Format('dwMemoryLoad:' + #9 + '%d', [m.dwMemoryLoad])); Add(Format('dwTotalPhys:' + #9 + '%d', [m.dwTotalPhys div num])); Add(Format('dwAvailPhys:' + #9 + '%d', [m.dwAvailPhys div num])); Add(Format('dwTotalPageFile:' + #9 + '%d', [m.dwTotalPageFile div num])); Add(Format('dwAvailPageFile:' + #9 + '%d', [m.dwAvailPageFile div num])); Add(Format('dwTotalVirtual:' + #9 + '%d', [m.dwTotalVirtual div num])); Add(Format('dwAvailVirtual:' + #9 + '%d', [m.dwAvailVirtual div num])); end; end; end.