본문 바로가기

Delphi/꿀팁

프로세스의 메모리 사용량 확인하기 - 1

uses
  .., PsAPI;

var
  MemCounter: PPROCESS_MEMORY_COUNTERS; cb: Integer;
begin
  cb := SizeOf(_PROCESS_MEMORY_COUNTERS);
  GetMem(MemCounter, cb);

  try
    Initialize(MemCounter^);
    MemCounter^.cb := cb;

    if GetProcessMemoryInfo(GetCurrentProcess, MemCounter, cb) then
      Memo1.Lines.Add(IntToStr(MemCounter^.WorkingSetSize) + ' Bytes');
  finally
    Finalize(MemCounter^);
    FreeMem(MemCounter);
  end;
end;

고속 처리 시, 초기화를 해주지 않으면 드물게 Access violation exception이 발생할 수 있기 때문에

Initialize와 Finalize 처리를 해주어야 합니다.

반응형