小编Art*_*Art的帖子

在我的过程中,所有这些未提交的,保留的内存是什么?

我正在使用来自SysInternals的VMMap查看我的Win32 C++进程在WinXP上分配的内存,我看到一堆分配,其中已分配内存的一部分被保留但未提交.据我所知,从我的阅读和测试来看,C++程序中使用的所有常见内存分配器(例如,malloc,new,LocalAlloc,GlobalAlloc)总是分配完全提交的内存块.堆是保留内存但在需要之前不提交内存的代码的常见示例.我怀疑其中一些块是Windows/CRT堆,但似乎有更多这些类型的块比我预期的堆更多.我看到我的进程中有30个这样的块,大小在64k到8MB之间,我知道我的代码从不故意调用VirtualAlloc来分配保留的,未提交的内存.

以下是VMMap的几个示例:http://www.flickr.com/photos/95123032@N00/5280550393/

还有什么会分配这样的内存块,其中大部分是保留但未提交?我的流程有30堆是否有意义?谢谢.

windows memory-management sysinternals

6
推荐指数
1
解决办法
3516
查看次数

标签 统计

memory-management ×1

sysinternals ×1

windows ×1