我在SO上找到了这个问题的几个答案,但没有一个能回答我的问题。 我正在尝试跟踪我们的非托管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];
但是,这没有提及承诺记忆:
有人可以帮忙吗? 保罗
答案 0 :(得分:4)
看起来您想使用GetProcessMemoryInfo
。这会填充PROCESS_MEMORY_COUNTERS
结构。
您感兴趣的这个结构的关键元素是
PagefileUsage 此进程的Commit Charge值(以字节为单位)。 Commit Charge是内存管理器为正在运行的进程提交的内存总量。