版本:3.22
大小:443 KB
环境:PC端
日期:2018- 10-18
VMMap是一个进程虚拟和物理内存分析实用程序。 它显示了进程提交的虚拟内存类型的细分以及操作系统为这些类型分配的物理内存(工作集)的数量。除了内存使用的图形表示外,VMMap还显示摘要信息和详细的进程内存映射。 强大的过滤,刷新和快照比较功能使您可以识别进程内存使用的来源和应用程序功能的内存成本。
记忆类型
图片
内存表示可执行文件,如.exe或.dll,并已由映像加载程序加载到进程中。它不包括映射为数据文件的图像,这些图像将包含在映射文件存储器类型中。图像映射可以包括像代码一样的可共享内存。当修改数据区域(如初始化数据)时,将在该过程中创建其他专用内存。 “详细信息”列显示文件的路径。
私人的
私有内存是由VirtualAlloc分配的内存,不是由堆管理器或.NET运行时子分配的。它不能与其他进程共享,根据系统提交限制收费,并且通常包含应用程序数据。
可共享
可共享内存是可以与其他进程共享的内存,由页面文件(如果存在)支持,根据系统提交限制收费,并且通常包含不同进程中的DLL之间共享的数据或进程间通信消息。 Windows API将此类型的内存称为页面文件支持的部分。
映射文件
内存可共享,表示磁盘上的文件。 “详细信息”列显示文件的路径。映射文件通常包含应用程序数据。
堆
堆表示由用户模式堆管理器管理的私有内存,并且与专用内存类型一样,根据系统提交限制收费并包含应用程序数据。使用C运行时malloc库,HeapAlloc和LocalAlloc的应用程序内存分配使用堆内存。
管理堆
托管堆表示由.NET垃圾收集器分配和使用的私有内存,与专用内存类型一样,是针对系统提交限制收费的,并包含应用程序数据。
堆
堆栈是专用内存,用于存储各个线程的函数参数,本地函数变量和函数调用记录。堆栈再次按提交限制收费,通常按需增长。
系统
系统内存是与进程关联的专用内核模式物理内存。绝大多数系统内存由进程页表组成。
自由
可用内存区域是进程地址空间中未分配的空间。
注意:VirtualProtect API可以将任何页面的保护更改为与原始分配的内存类型所暗示的不同。这意味着在可共享内存区域中可能存在对进程专用的内存页面,例如,因为该区域是作为页面文件支持的部分创建的,但随后应用程序将某些页面上的保护更改为copy-on-编写并修改它们。为区域显示的保护不一定是它自创建以来的保护。