3

ProcessExplorer somehow obtain this value and show it on Performance tab for each process... How to get it using Win32 API?

Solution: In `Peak Private Bytes' field, Process Explorer actually shows "Process\...\Page File Bytes Peak" performance counter. This value could be easily retrieved with PSAPI function GetProcessMemoryInfo.

ZAB
  • 963
  • 10
  • 18

2 Answers2

2

GetProcessMemoryInfo gets you this:

PrivateUsage

The current amount of memory that cannot be shared with other processes, in bytes. Private bytes include memory that is committed and marked MEM_PRIVATE, data that is not mapped, and executable pages that have been written to.

Roman R.
  • 68,205
  • 6
  • 94
  • 158
  • I need to know peak memory consumption not the current value – ZAB Oct 24 '11 at 20:52
  • 1
    My understanding is that where it says `Peak Private Bytes', Process Explorer actually shows Process\\\\Page File Bytes Peak value - those perfectly match across running processes for me. – Roman R. Oct 24 '11 at 20:58
1

The info on this thread may be out of date, but it does suggest that this data is extracted via the kernel, and is not publicly available via Win32.

Steve Townsend
  • 53,498
  • 9
  • 91
  • 140