我的Windows应用程序真正使用了多少内存?

mmr*_*mmr 7 memory windows taskmanager

我有一个长期记忆的实验程序,我想知道它的实际内存占用.任务管理器说(在windows7-64中)该应用程序正在消耗800 MB的内存,但根据任务管理器分配的内存总量为3.7 GB.所有已分配内存的总和不等于3.7gb.如何在运行中确定应用程序实际消耗的内存量.

推论:任务管理器实际报告的内存是什么?它似乎并不是分配给应用程序本身的所有内存.

Kim*_*man 2

据我了解,任务管理器显示工作集;

工作集:进程的线程最近接触的内存页集。如果计算机中的可用内存高于阈值,则即使页面未被使用,也会保留在进程的工作集中。当可用内存低于阈值时,将从工作集中修剪页面。

通过http://msdn.microsoft.com/en-us/library/cc432779(PROT.10).aspx

您也可以让任务管理器显示虚拟内存。

我通常使用 perfmon(开始 -> 运行... -> perfmon)通过专用字节计数器来跟踪内存使用情况。它反映了普通分配器(new/HeapAlloc/malloc 等)分配的内存。