내가 사용하고있다 Win32 C++ in CodeGear Builder 2009 대상은 Windows XP Embedded입니다. 프로세스에서 사용중인 메모리 양을 파악하는 방법은 무엇입니까? win32 C++
내가 찾은 PROCESS_MEMORY_COUNTERS_EX 구조체 나는 내 프로세스의 메모리 소비를 반환하는 siple 기능을 만들었습니다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;
privateUsage는 perfmon에서 보이는 것입니다. 하지만 정확히 WorkingSetSize는 무엇입니까?
나는 그것을 할당 할 때마다 카운터에 할당 할 모든 바이트를 볼 것입니다. 이게 가능하니?
관련
jvdn