Windows内存分析工具VMMap

本文详细介绍了VMMap这款内存分析工具,它能展示进程内存使用详情,包括不同类型内存的来源和分类。文章还提及了如何通过命令行快速启动VMMap并查看其他进程的内存情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

【VMMap】是进程的内存分析工具,可显示进程的已提交虚拟内存类型明细,以及操作系统分配给这些类型的物理内存量。 除了内存使用情况的图形表示形式外,VMMap 还可显示摘要信息和详细的进程内存映射。 借助强大的筛选和刷新功能,可以识别进程内存使用情况的来源以及应用程序功能的内存成本。

打开软件后,会弹出对话框,用于选择准备查看的进程名称。选中之后,点击【OK】,就可以查看对应程序的内存使用情况了,界面如下

在这里插入图片描述

详细解释

以上界面中,最重要的当属中间的表格,分横向和纵向两个维度来对内存进行分类。其首列从程序运行的角度,列明不同的内存来源

  • Total 全部
  • 【Heap】由new,GlobalAlloc和HeapAlloc等分配
  • 【Managed Heap】由.NET garbage collector分配和管理
  • 【Image】 可执行文件
  • 【Mapped file】由CreateFileMapping以文件作为备份
  • 【Sharable】由CreateFileMapping以内存作为备份
  • 【Private Data】由Virtual Alloc分配
  • 【Stack】栈占用的控件
  • 【Page table】内核里面维护当前虚拟地址控件所需要的内存

表头则从内存本身的角度,给出占用的内存类型,又可分为

  • 虚拟内存
    • 【Size】总体大小,包括了commit和没有reservce的内存。如果这项和Committed不一致,那么就是说有reserve的内存。
    • 【Committed】即内存的大小,包括Private内存和可共享的内存。
    • 【Private】属于当前进程的虚拟内存,指的是当你修改他时仅仅当前进程会受到影响。
  • 物理内存
    • 【Total WS】所有的工作组,包括私有工作组和共享工作组。
    • 【Private WS】private 工作组。仅属于当前进程的工作组。
    • 【Sharable WS】可共享工作组。
    • 【Shared WS】已经共享的工作组,小于等于Sharable WS。

如果想查看另一个进程的内存,点击【File】->【Select Process】或者直接按下【Ctrl+P】。

命令行

此外,VMMap还支持从命令行启动,其语法为

vmmap [-64] [-p <Pid or process name> [outputfile]] |[- 0 <inputfile>]

如果直接输入vmmap,则正常启动VMMap。如果输入-p外加进程号,则省略选择进程这个步骤。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微小冷

请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值