I have a program that needs a lot of memory, and it crashes as soon as the 2GB virtual address space is reached. Sysinternals process explorer displays this as ‘virtual size’ column. How can I determine this ‘virtual size’ with C (or C++) code?
Ok, I have to query a performance counter for ‘Virtual Bytes’. Perfmon shows the query string (or how it is called) as, for example, ‘\Process(firefox)\Virtuelle Größe’ on my German Win XP installation.
How do I determine the query string for the ‘current process’, and is there a non-localized name for it?
According to MSDN: Memory Performance Information
PROCESS_MEMORY_COUNTERS_EX.PrivateUsageis the same as VM Size in Task Manager in Windows XP. GetProcessMemoryInfo should work:Now
pmcx.PrivateUsageholds the VM Size of the process.