Win64 下如何正确获取进程占用的内存
我用GetProcessMemoryInfo( hProcess1, & pmc, sizeof(pmc) )获取的pmc.PeakWorkingSetSize(峰值工作设置内存)最大只有4G,而用任务管理器看到的却有6G多,问一下怎样才能得到正确的值?
就这点儿信息解决不了问题呀,不要惜字如金,必须的信息要交代清楚
首先,你看看 sizeof(pmc.PeakWorkingSetSize) 的值是多少?如果是4的话,那也就是说 pmc.PeakWorkingSetSize 的最大值就是 4G-1 字节,神仙也没法将它变为6G
如果 sizeof(pmc.PeakWorkingSetSize) == 4 的话
将自身32位的工程换成64位试试
再将 PSAPI_VERSION 定义为 2 试试