我正在使用 Win32 C++在 CodeGear Builder 2009 目标是Windows XP Embedded。如何知道我在一个进程中使用了多少内存? win32 C++
我发现PROCESS_MEMORY_COUNTERS_EX结构 和我创建了一个赛普尔函数返回我的过程 内存消耗
SIZE_T TForm1::ProcessPrivatBytes(DWORD processID)
{
SIZE_T lRetval = 0;
HANDLE hProcess;
PROCESS_MEMORY_COUNTERS_EX pmc;
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |
PROCESS_VM_READ,
FALSE, processID);
if (NULL == hProcess)
{
lRetval = 1;
}
else
{
if (GetProcessMemoryInfo(hProcess, (PROCESS_MEMORY_COUNTERS*)&pmc, sizeof(pmc)))
{
lRetval = pmc.WorkingSetSize;
lRetval = pmc.PrivateUsage;
}
CloseHandle(hProcess);
}
return lRetval;
}
//---------------------------------------------------------------------------
我是否必须使用lRetval = pmc.WorkingSetSize;或者lRetval = pmc.PrivateUsage;
privateUser是我在perfmon中看到的。 但WorkingSetSize究竟是什么。
我在分配计数器时要查看计数器中分配的每个字节的内容。这可能吗?
问候
jvdn