the*_*ler 10 c c++ windows memory-management
我有一个需要大量内存的程序,一旦达到2GB虚拟地址空间就会崩溃.Sysinternals进程资源管理器将其显示为"虚拟大小"列.如何用C(或C++)代码确定这个"虚拟大小"?
好的,我必须查询"虚拟字节"的性能计数器.Perfmon在我的德语Win XP安装中显示查询字符串(或它的调用方式),例如'\ Process(firefox)\VirtuelleGröße'.
如何确定"当前进程"的查询字符串,是否有非本地化名称?
根据MSDN:内存性能信息 PROCESS_MEMORY_COUNTERS_EX.PrivateUsage
与Windows XP中任务管理器中的VM大小相同.GetProcessMemoryInfo应该工作:
PROCESS_MEMORY_COUNTERS_EX pmcx = {};
pmcx.cb = sizeof(pmcx);
GetProcessMemoryInfo(GetCurrentProcess(),
reinterpret_cast<PROCESS_MEMORY_COUNTERS*>(&pmcx), pmcx.cb);
Run Code Online (Sandbox Code Playgroud)
现在pmcx.PrivateUsage
保存进程的VM Size.
归档时间: |
|
查看次数: |
6275 次 |
最近记录: |