windows资源监视器中内存项(提交、工作集、可共享、专用)的含义及区别
各字段官方解释:
- 提交:操作系统为进程保存的虚拟内存量;
- 工作集:进程当前正在使用的物理内存量;
- 可共享:进程当前使用的可与其他进程共享的物理内存量;
- 专用:进程当前使用的不能被其他进程共享的物理内存量;
对各字段的分析:
使用下面的代码进行测试
#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资源监视器中内存项(提交、工作集、可共享、专用)的含义及区别相关推荐
- Windows资源监视器软件的原理
首发于freebuf : http://www.freebuf.com/column/137615.html 1.分析 打开windows任务栏管理器,在其性能选项里,可以看到性能监控的一些机器性能 ...
- 4G模块中RSRP RSRQ RSSI SINR等信号值的含义和区别
1.RSRP RSRP (Reference Signal Receiving Power,参考信号接收功率) 是LTE网络中可以代表无线信号强度的关键参数以及物理层测量需求之一,是在某个符号内承载参 ...
- 如何打开Windows7和Windows server 2008 R2的资源监视器
Windows资源监视器是一个MMC管理单元,它楚一个可以帮助用户分析系统性能的工具.通过它可以实时监控计箅机系统资源的使用情况,可以随时了解当前计算机的运行情况.如哪些应用使汁算机变得缓慢,哪些操作 ...
- 酷!不用外挂,Win7资源监视器查看QQ好友IP
用QQ时间比较长.喜欢DIY的朋友都知道,有一些第三方版本的QQ或者插件可以显示好友IP地址,但其实在Windows7中根本用不着第三方软件,在系统自带的资源监视器中,就能很方便的看到QQ好友的IP地 ...
- qq ip探测仪 php,巧用Win7资源监视器,查看QQ好友IP
用QQ时间比较长.喜欢DIY的朋友都知道,有一些第三方版本的QQ或者插件可以显示好友IP地址,但其实在Windows7中根本用不着第三方软件,在系统自带的资源监视器中,就能很方便的看到QQ好友的IP地 ...
- 回收站有html文件,如何恢复从资源回收站中清理掉的文件
Hugh 于 2020/07/01更新 数据恢复 摘要 帮助Windows的使用者轻松从资源回收站中找回文件.还原资源回收站清理掉/删除掉的文件教学.尝试这些解决方法来复原已清理的资源回收站,并恢复从 ...
- 简要Windows性能监视器
简要Windows性能监视器: 打开Windows性能监视器的步骤如下: 开始→运行→perfmon→确定 在这里我们可以选择添加我们要监控的计数器,比如:cpu使用率.内存使用量等,作为asp.ne ...
- windows 性能监视器图表中各曲线的意义
如果要查看系统的内存占用.CPU占用等性能信息,大家通常会想到Windows的任务管理器,不过在Windows 2000/XP中还有一个功能更为强大的工具,可以查看更为详细的系统性能信息.通过这些数据 ...
- vs2015c语言内嵌汇编,C#中内嵌资源的读取
起因 作为一个从Cpper转到C#并且直接从事WPF开发的萌新来说,正式编码过程中碰到了不少问题,一路上磕磕碰碰的.因为软件设计需求上的要求,需要将一些配置文件(XML.INI等)内嵌到程序中,等需要 ...
- Robocopy是微软Windows Server 2003资源工具包中众多多用途的实用程序之一(它是基于强大的拷贝程序...
Robocopy是微软Windows Server 2003资源工具包中众多多用途的实用程序之一(它是基于强大的拷贝程序).没错,Robocopy的功能是拷贝文件,你也许会觉得无聊并且要翻阅下一篇文章 ...
最新文章
- cv2.waitKey(1) == ord('key')的等待键盘用法
- Binder相关面试总结(三):Binder机制是如何跨进程的
- 移动端布局的几种方式
- 欢迎参与Java 事务讨论
- 如何避免无意义的区块链项目
- C#调用C++编写的COM DLL
- 大背景在网页设计中应用的30个优秀案例
- openwrt搭建环境
- kubernetes 查看pod在哪个node节点运行
- 自然辩证法概论-雨课堂
- 连接局域网及共享打印机提示操作无法完成(0x00000709)
- RAL 2022|基于3D语义共视图的语义SLAM精确回环检测
- powerbi服务器性能分配,Power BI 嵌入式分析性能最佳做法
- windows下强大的系统监视工具Procmon(Process Monitor)
- 论文写作总结(中外文对比)
- Karaf-cellar 集群配置
- nvim 的编译与安装
- Java面试题集(1-50)
- mybatis报错There is no getter for property named '***' in 'class ***'问题
- 百家讲坛 雍正十三年(上部)