Я использовал кодПрактического использования виртуальной памяти
MEMORYSTATUSEX memInfo;
memInfo.dwLength = sizeof(MEMORYSTATUSEX);
GlobalMemoryStatusEx(&memInfo);
DWORDLONG totalVirtualMem = memInfo.ullTotalPageFile;
DWORDLONG virtualMemUsed = memInfo.ullTotalPageFile - memInfo.ullAvailPageFile;
DWORDLONG totalPhysMem = memInfo.ullTotalPhys;
, предусмотренный на here
выхода, как: 2.3GB.
totalVirtualMem = 8.5 Gb
virtualMemUsed = 2.3 Gb
totalPhysMem = 4 Gb
Означает ли это, что для моей программы требуется 2,3 ГБ памяти? Не могли бы вы также прокомментировать общую виртуальную память и оперативную память? Кроме того, я не смог запустить этот код:
PROCESS_MEMORY_COUNTERS_EX pmc;
GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc));
SIZE_T virtualMemUsedByMe = pmc.PrivateUsage;
как он дает ошибку, как,
error C2664: 'GetProcessMemoryInfo' : cannot convert parameter 2 from 'PROCESS_MEMORY_COUNTERS_EX *' to 'PPROCESS_MEMORY_COUNTERS'