各字段官方解释:

  1. 提交:操作系统为进程保存的虚拟内存量;
  2. 工作集:进程当前正在使用的物理内存量;
  3. 可共享:进程当前使用的可与其他进程共享的物理内存量;
  4. 专用:进程当前使用的不能被其他进程共享的物理内存量;

对各字段的分析: 

使用下面的代码进行测试

#include<windows.h>#define UNIT_SIZE (1024 * 1024)int main(int argc, char* argv[])
{PVOID bookMem = (PVOID)VirtualAlloc(NULL, 64 * UNIT_SIZE, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);ZeroMemory(bookMem, 64 * UNIT_SIZE);HANDLE heap = HeapCreate(0, 64 * UNIT_SIZE, 1024 * UNIT_SIZE);PVOID heapMem = HeapAlloc(heap, HEAP_ZERO_MEMORY, 32 * UNIT_SIZE);char* p = (char *)malloc(64 * UNIT_SIZE);HeapFree(heap, 0, heapMem);HeapDestroy(heap);free(p);return 0;
}

首先时VirtualAlloc(...)函数使用MEM_REVERSE | MEM_COMMIT标志同时预定和调拨64MB的物理内存,但是注意,这里调拨的内存是从系统页交换文件进行调拨的,属于保存的虚拟内存,因此这个时候"提交"项的值会增长大概64MB左右。当进程真正使用这段内存的时候系统才会为其分配真正的物理内存,所以执行完ZeroMemory函数后其他三项的值才会增长,另外这里有一个关系是:工作集 = 可共享 + 专用。

VirtualAlloc、HeapAlloc、malloc和new的调用关系如下所示:

malloc和new都是c运行库中的函数, 当c库被加载进进程地址空间后会首先调用HeapCreate函数创建自建堆,malloc函数和new的调用底层调用了HeapAlloc,但是HeapAlloc也是在页交换文件中进行物理内存的调拨的,为什么malloc函数和new开辟内存的时候工作集的值会增加呢?这是因为malloc函数和new封装了内存初始化的过程,在初始化过程中系统的缺页中断就会导致开辟实际的物理内存了。

windows资源监视器中内存项(提交、工作集、可共享、专用)的含义及区别相关推荐

  1. Windows资源监视器软件的原理

    首发于freebuf :  http://www.freebuf.com/column/137615.html 1.分析 打开windows任务栏管理器,在其性能选项里,可以看到性能监控的一些机器性能 ...

  2. 4G模块中RSRP RSRQ RSSI SINR等信号值的含义和区别

    1.RSRP RSRP (Reference Signal Receiving Power,参考信号接收功率) 是LTE网络中可以代表无线信号强度的关键参数以及物理层测量需求之一,是在某个符号内承载参 ...

  3. 如何打开Windows7和Windows server 2008 R2的资源监视器

    Windows资源监视器是一个MMC管理单元,它楚一个可以帮助用户分析系统性能的工具.通过它可以实时监控计箅机系统资源的使用情况,可以随时了解当前计算机的运行情况.如哪些应用使汁算机变得缓慢,哪些操作 ...

  4. 酷!不用外挂,Win7资源监视器查看QQ好友IP

    用QQ时间比较长.喜欢DIY的朋友都知道,有一些第三方版本的QQ或者插件可以显示好友IP地址,但其实在Windows7中根本用不着第三方软件,在系统自带的资源监视器中,就能很方便的看到QQ好友的IP地 ...

  5. qq ip探测仪 php,巧用Win7资源监视器,查看QQ好友IP

    用QQ时间比较长.喜欢DIY的朋友都知道,有一些第三方版本的QQ或者插件可以显示好友IP地址,但其实在Windows7中根本用不着第三方软件,在系统自带的资源监视器中,就能很方便的看到QQ好友的IP地 ...

  6. 回收站有html文件,如何恢复从资源回收站中清理掉的文件

    Hugh 于 2020/07/01更新 数据恢复 摘要 帮助Windows的使用者轻松从资源回收站中找回文件.还原资源回收站清理掉/删除掉的文件教学.尝试这些解决方法来复原已清理的资源回收站,并恢复从 ...

  7. 简要Windows性能监视器

    简要Windows性能监视器: 打开Windows性能监视器的步骤如下: 开始→运行→perfmon→确定 在这里我们可以选择添加我们要监控的计数器,比如:cpu使用率.内存使用量等,作为asp.ne ...

  8. windows 性能监视器图表中各曲线的意义

    如果要查看系统的内存占用.CPU占用等性能信息,大家通常会想到Windows的任务管理器,不过在Windows 2000/XP中还有一个功能更为强大的工具,可以查看更为详细的系统性能信息.通过这些数据 ...

  9. vs2015c语言内嵌汇编,C#中内嵌资源的读取

    起因 作为一个从Cpper转到C#并且直接从事WPF开发的萌新来说,正式编码过程中碰到了不少问题,一路上磕磕碰碰的.因为软件设计需求上的要求,需要将一些配置文件(XML.INI等)内嵌到程序中,等需要 ...

  10. Robocopy是微软Windows Server 2003资源工具包中众多多用途的实用程序之一(它是基于强大的拷贝程序...

    Robocopy是微软Windows Server 2003资源工具包中众多多用途的实用程序之一(它是基于强大的拷贝程序).没错,Robocopy的功能是拷贝文件,你也许会觉得无聊并且要翻阅下一篇文章 ...

最新文章

  1. cv2.waitKey(1) == ord('key')的等待键盘用法
  2. Binder相关面试总结(三):Binder机制是如何跨进程的
  3. 移动端布局的几种方式
  4. 欢迎参与Java 事务讨论
  5. 如何避免无意义的区块链项目
  6. C#调用C++编写的COM DLL
  7. 大背景在网页设计中应用的30个优秀案例
  8. openwrt搭建环境
  9. kubernetes 查看pod在哪个node节点运行
  10. 自然辩证法概论-雨课堂
  11. 连接局域网及共享打印机提示操作无法完成(0x00000709)
  12. RAL 2022|基于3D语义共视图的语义SLAM精确回环检测
  13. powerbi服务器性能分配,Power BI 嵌入式分析性能最佳做法
  14. windows下强大的系统监视工具Procmon(Process Monitor)
  15. 论文写作总结(中外文对比)
  16. Karaf-cellar 集群配置
  17. nvim 的编译与安装
  18. Java面试题集(1-50)
  19. mybatis报错There is no getter for property named '***' in 'class ***'问题
  20. 百家讲坛 雍正十三年(上部)

热门文章

  1. 安卓手机有坏点测试软件,检测手机屏幕是否有坏点的方法分享 怎么检测手机屏幕坏点...
  2. typedef用法和结构体指针用法
  3. 【单片机仿真】(十一)指令系统逻辑运算指令 — 逻辑与指令ANL、逻辑或指令ORL
  4. Cobalt Strike之网站克隆
  5. java从入门到放弃段子_搞笑GIF段子:学习是不可能学习的从入门到放弃
  6. CodeBlocks汉化安装教程
  7. guice依赖注入_Guice依赖注入
  8. 国产管理软件勒索病毒大爆发
  9. 天载免息股票汽车整车涨幅居前
  10. python 网络调试助手