我在这里找到了这个问题的几个答案,但没有一个能回答我的问题。 我正在尝试追踪非托管 C++ 应用程序中的一些内存泄漏,通过阅读以下内容,“内存 - 提交大小”似乎是监视内存使用情况时使用的最佳指标: http://forum.sysinternals.com/virtual-private-bytes-and-working-set_topic18296.html
以下是 Windows 任务管理器报告的各种指标的说明: http://windows.microsoft.com/en-us/windows-vista/what-do-the-task-manager-memory-columns-mean
我发现以下内容描述了如何检索命名进程的工作集数据: http://msdn.microsoft.com/en-us/library/76yt3c0w.aspx
System.Diagnostics.Process[] processes =
System.Diagnostics.Process.GetProcessesByName(theprocessName);
System.Diagnostics.Process process = processes[0];
但是,这没有提到有关提交内存的内容:
有人可以帮忙吗? 保罗
最佳答案
您似乎想使用 GetProcessMemoryInfo
。这会填充 PROCESS_MEMORY_COUNTERS
结构。
您会感兴趣的此结构的关键元素是
PagefileUsage The Commit Charge value in bytes for this process. Commit Charge is the total amount of memory that the memory manager has committed for a running process.
关于c++ - 如何通过 C++ 检索已提交的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16558941/