-
2021-03-26 11:34:38
windows任务管理器中的工作设置内存,内存专用工作集,提交大小详解
虽然是中文字,但是理解起来还是很困难,什么叫工作设置内存,什么叫内存专用工作集,什么叫提交大小,区别是什么,让人看了一头雾水.
通俗的讲工作设置内存是程序占用的物理内存(包含与其他程序共享的一部分), 内存专用工作集是程序独占的物理内存, 提交大小是程序独占的内存(包含物理内存和在页面文件中的内存).
注:页面文件就是存放不在物理内存中的内存,文件路径一般在C:\pagefile.sys,目的是为了能够让更多的进程运行,即使合起来所占用的内存已经超过物理内存. 只要将其中一部分内存转入页面文件, 物理内存就可以空出来继续运行新的进程.
它们之间的关系:
工作设置内存 = 内存专用工作集 + 与其他进程共享的物理内存.
提交大小 = 内存专用工作集 + 保存在页面文件中的独占内存.
(其中有些例外,有时候内存专用工作集可能会比提交大小大一点点,不过可以不用考虑)
工作设置内存和内存专用工作集在程序不变化情况下会变化, 系统会考虑程序活动情况,物理内存剩余量等减少或增加物理内存.
提交大小在程序不变化情况下不会变化,因为程序就是占用了那么多专用内存.
如果要测试程序占用的内存大小,建议在程序加载完毕后记录提交大小.其他的会变化建议不要记录.
还想要了解更清楚?好孩子.
下面通过代码来详细了解.
首先windows任务管理器已经不够用了,需要用Process explorer和VMMap工具.
接下来解释一些名词:
windows任务管理器中的称谓 Process explorer中的称谓 VMMap中的称谓 工作设置内存 Working set Total WS 内存专用工作集 WS Private Private WS 提交大小 Private Bytes Private 无对应选项可显示 Virtual Size Size 无对应选项可显示 无对应选项可显示 Committed 名词说明:
Virtual Size: 程序总的所使用的内存(包含共享,非共享,物理,页面,为程序保留的但未分配的内存)
Committed: Virtual Size减去为程序保留的但未分配的内存
为程序保留的但未分配的内存: 就是告诉系统我要一块内存,但暂时不用,不过分配的地址得给我,系统就给他一个不用的地址,但不分配内存,等程序申请要使用时,就从页面或物理内存中分配出来放在那个地址上.
关于页面文件和物理内存如何转换稍微讲解一下,当程序要访问某个地址, 系统发现这个地址不在物理内存里,就会产生中断,然后去读取页面文件,把页面文件中与内存相关的数据拷贝到物理内存,然后标记一下这个地址已经在物理内存中了,然后继续让程序运行.
现在来看个例子:
程序main.exe定义了一个5M的全局变量,5M的常量,并申请了一个5M的内存,程序代码大小为2M.
char g_str[5*1024*1024];
const char STR[5*1024*1024];
void main()
{
char *p = (char*) HeapAlloc(GetProcessHeap(), 0, 1024*1024*5);
call_lib();
}
程序lib.dll定义了一个4M的全局变量,4M的常量,并申请了一个4M的内存,程序代码大小为1M.
char g_str[4*1024*1024];
const char STR[4*1024*1024];
void call_lib()
{
char *p = (char*) HeapAlloc(GetProcessHeap(), 0, 1024*1024*4);
}
Main.exe程序调用了lib.dll
先看main.exe总的占用的内存.
Virtual Size = 5M的全局变量 + 5M的常量 + 5M的内存 + 2M的程序代码
+ 4M的全局变量 + 4M的常量 + 4M的内存 + 1M的程序代码
= 30M.
然后看main.exe独占的内存:
Private Bytes = 5M的全局变量 + 5M的内存
+ 4M的常量 + 4M的内存
=18M.
由上可以看出独占指的是只能进程自己使用, 比如代码,常量等就是共享的.
分配的内存,可变的全局或静态变量就是独占的.
至于Working set和WS Private,因为其为变化量,所以无法计算其值.
Working set物理内存变化规律:
一般情况下在分配出来内存后,物理内存只分配4K左右,等访问到超过4K的时候,会慢慢加大物理内存,等到系统总的物理内存小于一定值后,又会将不在前台的进程的物理内存减少.
如果进程想休息了, 可以调用SetProcessWorkingSetSize(GetCurrentProcess(), -1, -1);
来将自己的一些内存从物理内存转移到页面文件.
测试环境: Win7 32位
更多相关内容 -
淘宝专用词库—用户NLP任务
2022-04-27 16:22:03淘宝专用词库 可用于电商场景下的各类任务 -
论文研究-运送任务合并下专用道设置问题的建模与求解.pdf
2019-09-20 18:31:03论文研究-运送任务合并下专用道设置问题的建模与求解.pdf, 在大城市举办大型运动会,其拥挤的交通很可能无法满足赛事的运送要求. 设置专用车道是最常用的解决方法. 然而... -
专用芯片功能测试任务流建模.pdf
2021-07-26 16:48:35专用芯片功能测试任务流建模.pdf -
qml-hep-gsoc-2021:用于完成QML-HEP GSoC 2021任务的专用存储库
2021-03-25 14:12:40对于任务II,III和IV :我一直要做的第一步是主要通过阅读研究论文及其代码实现,使自己熟悉与任务相关的最新作品。 在那之后,由于任务是无限制的,我试图找到令人兴奋的想法去探索,这些想法也可以回答任务的问题... -
Pomo:教师专用的课堂工具! 老师分配任务和时间限制,学生获得硬币以按时完成任务
2021-05-19 06:46:46学生可以登录个性化仪表板以查看分配的任务,并指示任务何时开始和完成。 授予学生完成任务的金币。 工具 Node,Express,Handlebars,MySQL堆栈-部署到Heroku 使用Passport进行身份验证,本地策略 带有快速会话的... -
基于三维设计的系列专用夹具设计说明任务书.doc
2021-09-18 11:27:39基于三维设计的系列专用夹具设计说明任务书.doc -
基于任务流水化的簇状流处理器专用通信单元的设计.pdf
2021-09-25 19:08:28基于任务流水化的簇状流处理器专用通信单元的设计.pdf -
江苏专用2020高考英语二轮复习增分篇专题四任务型阅读课件
2021-09-09 15:44:25江苏专用2020高考英语二轮复习增分篇专题四任务型阅读课件 -
江苏专用2020高考英语二轮复习专题限时检测三十任务型阅读五
2021-09-08 22:30:48江苏专用2020高考英语二轮复习专题限时检测三十任务型阅读五 -
2014高考英语二轮(广东专用)专题限时训练:39读写任务.pdf
2021-10-21 12:05:492014高考英语二轮(广东专用)专题限时训练:39读写任务.pdf -
京东任务自动签到助手v1.0.rar
2022-03-29 11:39:50产品介绍: 软件全部均为免费版,没有任何收费,软件属于转载,不提供任何技术服务,有不懂操作的可以联系我。 操作指南 ...2.配置页面选择你需要自动完成的任务,勾选即可 3.点击执行进行执行任务即可 -
江苏专用2020高考英语二轮复习专题限时检测二十九任务型阅读四
2021-09-08 23:06:44江苏专用2020高考英语二轮复习专题限时检测二十九任务型阅读四 -
江苏专用2020高考英语二轮复习专题限时检测二十六任务型阅读一
2021-09-08 22:50:52江苏专用2020高考英语二轮复习专题限时检测二十六任务型阅读一 -
江苏专用2020高考英语二轮复习专题限时检测二十八任务型阅读三
2021-09-08 22:26:30江苏专用2020高考英语二轮复习专题限时检测二十八任务型阅读三 -
江苏专用2020高考英语二轮复习增分篇专题四任务型阅读教学案
2021-09-08 22:19:17江苏专用2020高考英语二轮复习增分篇专题四任务型阅读教学案 -
江苏专用2020高考英语二轮复习专题限时检测二十七任务型阅读二
2021-09-08 22:15:17江苏专用2020高考英语二轮复习专题限时检测二十七任务型阅读二 -
河南专用2020版中考英语题型过关二任务型阅读课件人教新目标版20200530460
2021-09-08 18:42:23河南专用2020版中考英语题型过关二任务型阅读课件人教新目标版20200530460 -
RTOS是如何进行任务划分的
2021-02-24 02:11:59从宏观的角度看是多个任务同时在占据着CPU的执行,就像是多CPU一样,在真正的多CPU系统中,每个CPU都有一套自己的寄存器,而为了实现这样一种多CPU运行的机制,那么操作系统就为每个任务用一块专用的存储空间构建了... -
参考资料-E-实施服务合同之《项目实施服务工作任务书》-财务共享专用.zip
2022-03-01 05:29:16参考资料-E-实施服务合同之《项目实施服务工作任务书》-财务共享专用.zip -
参考资料-A-实施服务合同之《项目实施服务工作任务书》-敏捷实施专用.zip
2022-03-01 01:39:14参考资料-A-实施服务合同之《项目实施服务工作任务书》-敏捷实施专用.zip -
首批承担网络关键设备和网络安全专用产品安全认证和安全检测任务机构名录公布.pdf
2021-09-20 08:48:40首批承担网络关键设备和网络安全专用产品安全认证和安全检测任务机构名录公布.pdf -
Windows 任务管理器 模拟实现.zip
2019-08-09 14:48:42Windows 任务管理器 MFC 模拟实现 希望一起学习开发,转出来和大家分享 -
江苏专用2019高考英语二轮增分策略专题四任务型阅读第一节技法点拨优选习题
2021-08-05 20:49:11江苏专用2019高考英语二轮增分策略专题四任务型阅读第一节技法点拨优选习题 -
2012届高考英语二轮复习精品课件(广东专用)第6模块_读写任务_专题3_夹叙夹议型读写任务.ppt
2021-12-01 08:20:352012届高考英语二轮复习精品课件(广东专用)第6模块_读写任务_专题3_夹叙夹议型读写任务.ppt -
参考资料-B-实施服务合同之《项目实施服务工作任务书》-闭口合同专用.zip
2022-03-01 02:36:12参考资料-B-实施服务合同之《项目实施服务工作任务书》-闭口合同专用.zip -
C# 实现的一个完整的Windows任务管理器源码
2018-09-11 14:45:34基于c#的 Process 类制作的一个任务管理器,模仿Windows任务管理器 一个完整的任务管理器源码 -
渗透测试任务发布系统
2020-10-27 17:50:13php 渗透测试任务发布系统 毕设专用,发布任务、分配任务、接受任务,完成任务等 亦可用于学习使用 -
遵义专用2019中考英语第3部分重难题型突破题型三阅读理解第2节任务型阅读中考预测
2021-08-05 21:32:11遵义专用2019中考英语第3部分重难题型突破题型三阅读理解第2节任务型阅读中考预测 -
遵义专用2019中考英语第3部分重难题型突破题型三阅读理解第2节任务型阅读小试牛刀
2021-08-05 21:16:30遵义专用2019中考英语第3部分重难题型突破题型三阅读理解第2节任务型阅读小试牛刀