-
-
[讨论]关于VirtuaQuery()得到的MEM_COMMIT问题
-
发表于: 2008-9-24 14:36 6143
-
MSDN上说,
MEM_COMMIT--- Indicates committed pages for which physical storage has been allocated, either in memory or in the paging file on disk.
我用VirtualQueryEx()遍历一个进程的虚拟内存空间,从(0x00000000~0x7fffffff),将State为MEM_COMMIT的区域大小加在一起,原本想得到程序占用物理内存的大小。但是结果和“任务管理器”上的占用内存大小相差较大。是不是因为有一部分MEM_COMMIT的页面被转移到了硬盘页面?还有没有其他原因?
如果想利用VirtualQuery/Ex得到当前一个进程占用的物理内存大小,该如何做呢?
MEM_COMMIT--- Indicates committed pages for which physical storage has been allocated, either in memory or in the paging file on disk.
我用VirtualQueryEx()遍历一个进程的虚拟内存空间,从(0x00000000~0x7fffffff),将State为MEM_COMMIT的区域大小加在一起,原本想得到程序占用物理内存的大小。但是结果和“任务管理器”上的占用内存大小相差较大。是不是因为有一部分MEM_COMMIT的页面被转移到了硬盘页面?还有没有其他原因?
如果想利用VirtualQuery/Ex得到当前一个进程占用的物理内存大小,该如何做呢?
赞赏
赞赏
雪币:
留言: