前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows 虚拟内存查看工具 VMMap

Windows 虚拟内存查看工具 VMMap

作者头像
我与梦想有个约会
发布2023-10-21 14:21:10
2250
发布2023-10-21 14:21:10
举报
文章被收录于专栏:jiajia_deng

曾经在杭州一家公司做技术售后的时候,有一个印象深刻的问题,就是腾讯游戏《剑灵》在 Windows 32 位平台上报错的问题:http://support.icafe8.com/technologynews/hotfault/4708.html。综述原因就是在 32 位平台下虚拟内存地址空间不足(官方给的是这个答复,但真相到底是什么因为当时能力有限没有一探究竟)导致游戏申请不到更多的内存使用而崩溃。那么可以通过 /3GB 的手段去拓展用户空间的虚拟内存地址限制。但 Windows 只有一些参数的开关,我不知道开了以后到底这个进程可用的虚拟内存地址空间还有多少。最近在学习 Windows 内存管理时有人介绍了这款工具 VMMap。

它可以很方便的查看每一个进程的虚拟内存地址空间的状态,实际内部就是调用 VirtualQueryEx 实现的功能。我们来看一下它的截图,首次打开它会让你选择你要查看的进程:

2016-04-03_002211
2016-04-03_002211

我们打开了一个 32 位的 Chrome.exe 进程,我做了一下简单的标注,把每一个项目所代表的功能标记了一下。其中 Free 就是这个进程可用的虚拟内存地址空间还有多少空余。

2016-04-03_002346
2016-04-03_002346

上面我们提到《剑灵》的问题,官方除了给出 32 位系统可以通过修改 /3GB 的方式提高用户空间使用虚拟内存地址的大小限制,更建议用户直接更换 64 位系统,那么原因是什么呢?我们用这个工具打开一个 64 位的进程看一下。

2016-04-03_003312
2016-04-03_003312

从图中我们可以看出,这个 64 位的进程尚有接近 8TB 的虚拟内存地址空间尚未使用,根本不必我们去开什么 /3GB 的开关,所以这就是 64 位 CPU 对内存管理的一种扩充,让 64 位系统中 64 位应用程序可以使用更大的虚拟内存地址空间。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档