windows内存管理工具(RAMMap),虚拟内存查看工具(VMMap)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了windows内存管理工具(RAMMap),虚拟内存查看工具(VMMap),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3452字,纯文字阅读大概需要5分钟。
内容图文
【1】VMMap 查看某个进程的内存使用状态(以及虚拟内存)
转载自官网:https://docs.microsoft.com/en-us/sysinternals/downloads/vmmap
介绍
- VMMap是一个进程虚拟和物理内存分析实用程序。它显示了进程的已落实虚拟内存类型的细目分类,以及操作系统分配给这些类型的物理内存(工作集)的数量。
- 除了内存使用情况的图形表示之外,VMMap还显示摘要信息和详细的进程内存映射。强大的过滤和刷新功能使您能够确定进程内存使用量的来源以及应用程序功能的内存成本。
- 除了用于分析实时过程的灵活视图之外,VMMap还支持多种形式的数据导出,包括保留所有信息的本机格式,以便您可以加载回来。它还包括启用脚本方案的命令行选项。
- 对于希望了解和优化其应用程序的内存资源使用情况的开发人员而言,VMMap是理想的工具。
屏幕截图
名词说明
Committed: 进程向OS宣称要使用的内存大小(在虚拟内存进行了分配),基本上都不等于进程实际使用的物理内存大小。
- 一是其中统计了进程所链接的所有动态库的空间,比如标准C库,而实际上OS在内存中只加载一份C库的代码段,所有进程共享使用。但每个进程在运行时,依然要在自己的虚拟内存空间为C库分配好地址,OS的动态库管理程序会进行映射;
- 二是OS分虚拟内存和物理内存。32位电脑上,每个进程的虚拟内存空间可达4GB。当进程malloc()申请10MB空间时,先在虚拟内存中预留出10MB的地址空间(统计入Committed),但只有在真正读写这10MB空间时,才会通过缺页中断去创建对应的物理内存,并在进程的Total WS(WorkSet)中体现。所以Committed相对于进程实际使用的物理内存都比较大。
Private Bytes:上面的Committed包含了很多共享库的内存,Private Bytes则是属于进程独占的内存。比如一个动态库,虽然代码段是共享的,但数据段是每个进程各自拷贝一份并维护。
Private Bytes依然不完全等于进程使用的物理内存,它是进程独占的虚拟内存大小统计。
Working Set: 进程使用中的物理内存,包含了进程独占的物理内存和可共享的物理内存(主要是共享库所使用的物理内存)。
注意:使用“使用中”,是为了强调进程只是正在使用这块物理内存,但并不代表全部是由进程申请的。
示例解读:
进程虚拟内存已经分配了206,264KB(Committed);
其中属于进程私有的虚拟内存为34,148KB(Private Bytes),两者差值可以粗略认为是各种可共享动态库所占的虚拟内存大小。
进程实际使用中的物理内存是32,540KB(Working Set)。
下图中,Committed、Private、Total WS分别对应于上面的Committed、Private Bytes、Working Set。其中:
Total WS = Private WS + Shareable WS。
Shared WS:表示Shareable WS中已经共享的部分。
Image:进程自身可执行文件以及包含的所有库。虽然这些库的总大小为176,184KB,但很多是共享的,属于进程独占的只有13,184KB。
其他名词解释可见VMMap里面的Help。
对于进程内存优化,大部分时候重点关注Heap行的Total WS使用情况,即进程堆中分配且实际使用的物理内存。
下载与相关链接
下载VMMap (1.3 MB)
现在从Sysinternals Live运行。
运行:
- 客户端:Windows Vista及更高版本。
- 服务器:Windows Server 2008及更高版本。
【2】RAMMap 内存查看
官网:https://docs.microsoft.com/zh-cn/sysinternals/downloads/rammap
最佳实践:
中文版参考下载自:http://www.downxia.com/zixun/42021.html
运行RamMap,显示主界面,和“资源监视器”中的内存分析工具差不多,不过显示的信息更为详细。下面一一浏览。
【内存使用计数】
水平图主要是按基本类型活动内存、备用内存等分。
垂直图则按照映射文件、可共享等区分。
【进程统计】
在这里可以看到各个进程的详细使用情况。特别是备用和私有里头的内存分配大小。
【优先级内存摘要】
这里则显示了备用内存中各个优先级的页所占用的空间。
【物理内存】
这里显示了内存的具体使用情况。
【物理范围】
从这里可以看到内存地址的分配。
【文件摘要】
这里显示预加载的文件大概信息,比如缓存大小,正在使用中的大小等。
【文件详细信息】
这里是前面文件摘要的详细信息结果,从这里可以看出每个文件中被加载的大小,类型,是在哪种内存中等等详细信息。
以上就是RamMap的使用指南,希望对你有帮助。
内容总结
以上是互联网集市为您收集整理的windows内存管理工具(RAMMap),虚拟内存查看工具(VMMap)全部内容,希望文章能够帮你解决windows内存管理工具(RAMMap),虚拟内存查看工具(VMMap)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。