[string global_cpnav_top]
设为首页收藏本站[string global_cpnav_extra1]
[string global_cpnav_extra2]切换到宽版
[ad headerbanner/wp a_h]

 找回密码
 立即注册
[string global_login_extra]

QQ登录

只需一步,快速开始

[ad subnavbanner/a_mu]
搜索
[string global_header]
[string viewthread_top] [ad text/wp a_t]
返回列表 发新帖[string viewthread_postbutton_top]
[string viewthread_beginline]
查看: 3465|回复: 9

[转贴] windows任务管理器中的工作设置内存,内存专用工作集,提交大小详解

[复制链接] [string viewthread_title_extra]
[string viewthread_title_row]
[array viewthread_avatartop/0]
[array viewthread_avatar/0]
  • 打卡等级:无名新人
[array viewthread_sidetop/0]

51

威望

5196

金钱

229

贡献

管理员

孤魂野草

积分
6475
主题
168
回帖
2211
注册时间
2011-12-18
最后登录
2026-8-18
QQ
[array viewthread_sidebottom/0]
发表于 2015-5-9 08:53:35 | 显示全部楼层 |阅读模式 [array viewthread_postheader/0]
[ad thread/a_pt/2/0]
[array viewthread_posttop/0]
[ad thread/a_pr/3/0]

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册 [string global_login_text]

×
作者:hgyxbll,原文链接:http://shashanzhao.com/archives/832.html
0.webp
虽然是中文字,但是理解起来还是很困难,什么叫工作设置内存,什么叫内存专用工作集,什么叫提交大小,区别是什么,让人看了一头雾水.

通俗的讲工作设置内存是程序占用的物理内存(包含与其他程序共享的一部分), 内存专用工作集是程序独占的物理内存, 提交大小是程序独占的内存(包含物理内存和在页面文件中的内存).
注:页面文件就是存放不在物理内存中的内存,文件路径一般在C:\pagefile.sys,目的是为了能够让更多的进程运行,即使合起来所占用的内存已经超过物理内存. 只要将其中一部分内存转入页面文件, 物理内存就可以空出来继续运行新的进程.
它们之间的关系:
工作设置内存 = 内存专用工作集 + 与其他进程共享的物理内存.
提交大小 = 内存专用工作集 + 保存在页面文件中的独占内存.
(其中有些例外,有时候内存专用工作集可能会比提交大小大一点点,不过可以不用考虑)

工作设置内存和内存专用工作集在程序不变化情况下会变化, 系统会考虑程序活动情况,物理内存剩余量等减少或增加物理内存.
提交大小在程序不变化情况下不会变化,因为程序就是占用了那么多专用内存.
如果要测试程序占用的内存大小,建议在程序加载完毕后记录提交大小.其他的会变化建议不要记录.

还想要了解更清楚?好孩子.
下面通过代码来详细了解.
首先windows任务管理器已经不够用了,需要用Process explorer和VMMap工具.
接下来解释一些名词:
windows任务管理器中的称谓Process explorer中的称谓VMMap中的称谓
工作设置内存Working setTotal WS
内存专用工作集WS PrivatePrivate WS
提交大小Private BytesPrivate
无对应选项可显示Virtual SizeSize
无对应选项可显示无对应选项可显示Committed

名词说明:
Virtual Size: 程序总的所使用的内存(包含共享,非共享,物理,页面,为程序保留的但未分配的内存)
Committed: Virtual Size减去为程序保留的但未分配的内存
为程序保留的但未分配的内存: 就是告诉系统我要一块内存,但暂时不用,不过分配的地址得给我,系统就给他一个不用的地址,但不分配内存,等程序申请要使用时,就从页面或物理内存中分配出来放在那个地址上.

关于页面文件和物理内存如何转换稍微讲解一下,当程序要访问某个地址, 系统发现这个地址不在物理内存里,就会产生中断,然后去读取页面文件,把页面文件中与内存相关的数据拷贝到物理内存,然后标记一下这个地址已经在物理内存中了,然后继续让程序运行.


[array viewthread_postbottom/0]
[array viewthread_postsightmlafter/0][ad thread/a_pb/1/0]
书山有路勤为径,学海无涯苦作舟。
回复 [array viewthread_postfooter/0]

使用道具 举报 [array viewthread_postaction/0]

[ad interthread/a_p/0]
[array viewthread_endline/0]
[array viewthread_avatartop/1]
[array viewthread_avatar/1]
  • 打卡等级:本地老炮
[array viewthread_sidetop/1]

9337

威望

7452

金钱

1万

贡献

管理员

自由的灵魂

积分
107438
主题
5631
回帖
26662
注册时间
2003-4-10
最后登录
2026-10-2
[array viewthread_sidebottom/1]
发表于 2015-5-9 23:04:29 | 显示全部楼层 [array viewthread_postheader/1]
[ad thread/a_pt/2/1]
[array viewthread_posttop/1]
[ad thread/a_pr/3/1]不明觉厉!
[array viewthread_postbottom/1]
[array viewthread_postsightmlafter/1][ad thread/a_pb/1/1]
有问题请直接提问,欢迎注册本论坛!
回复 顶 踩 [array viewthread_postfooter/1]

使用道具 举报 [array viewthread_postaction/1]

[ad interthread/a_p/1]
[array viewthread_endline/1]
[array viewthread_avatartop/2]
[array viewthread_avatar/2]
  • 打卡等级:无名新人
[array viewthread_sidetop/2]

51

威望

5196

金钱

229

贡献

管理员

孤魂野草

积分
6475
主题
168
回帖
2211
注册时间
2011-12-18
最后登录
2026-8-18
QQ
[array viewthread_sidebottom/2]
 楼主| 发表于 2015-5-10 09:39:39 | 显示全部楼层 [array viewthread_postheader/2]
[ad thread/a_pt/2/2]
[array viewthread_posttop/2]
[ad thread/a_pr/3/2]
WinXP下任务管理器的“内存大小”“虚拟内存大小”都是不准确的,而且看软件真正占用的内存应该看“提交大小(Private,XP中错译为虚拟内存大小)”,这差不多就是本文的意思。
[array viewthread_postbottom/2]
[array viewthread_postsightmlafter/2][ad thread/a_pb/1/2]
点拨网 — 致力于解决实际问题!
回复 顶 踩 [array viewthread_postfooter/2]

使用道具 举报 [array viewthread_postaction/2]

[ad interthread/a_p/2]
[array viewthread_endline/2]
[array viewthread_avatartop/3]
[array viewthread_avatar/3]
  • 打卡等级:本地老炮
[array viewthread_sidetop/3]

9337

威望

7452

金钱

1万

贡献

管理员

自由的灵魂

积分
107438
主题
5631
回帖
26662
注册时间
2003-4-10
最后登录
2026-10-2
[array viewthread_sidebottom/3]
发表于 2015-5-10 10:59:35 | 显示全部楼层 [array viewthread_postheader/3]
[ad thread/a_pt/2/3]
[array viewthread_posttop/3]
[ad thread/a_pr/3/3]如果有几个常用软件的实例来说明一下,就更直观些了。
[array viewthread_postbottom/3]
不懂就搜!点此搜点拨论坛。如果本坛没有,请尝试点此问AI,或跟帖提问。
发帖前注意看置顶帖。
不定期借助AI对点拨论坛陈年老帖进行挖坟回复,打扰勿怪!
[array viewthread_postsightmlafter/3][ad thread/a_pb/1/3]
书山有路勤为径,学海无涯苦作舟。
回复 顶 踩 [array viewthread_postfooter/3]

使用道具 举报 [array viewthread_postaction/3]

[ad interthread/a_p/3]
[array viewthread_endline/3]
[array viewthread_avatartop/4]
[array viewthread_avatar/4]
  • 打卡等级:无名新人
[array viewthread_sidetop/4]

51

威望

5196

金钱

229

贡献

管理员

孤魂野草

积分
6475
主题
168
回帖
2211
注册时间
2011-12-18
最后登录
2026-8-18
QQ
[array viewthread_sidebottom/4]
 楼主| 发表于 2015-5-10 13:15:11 | 显示全部楼层 [array viewthread_postheader/4]
[ad thread/a_pt/2/4]
[array viewthread_posttop/4]
[ad thread/a_pr/3/4]
IsaacZ 发表于 2015-5-10 10:59
如果有几个常用软件的实例来说明一下,就更直观些了。

这个和哪个软件没关系吧?
[array viewthread_postbottom/4]
[array viewthread_postsightmlafter/4][ad thread/a_pb/1/4]
你知道吗?多页主题可以用左右方向键快速翻页
回复 顶 踩 [array viewthread_postfooter/4]

使用道具 举报 [array viewthread_postaction/4]

[ad interthread/a_p/4]
[array viewthread_endline/4]
[array viewthread_avatartop/5]
[array viewthread_avatar/5]
  • 打卡等级:本地老炮
[array viewthread_sidetop/5]

9337

威望

7452

金钱

1万

贡献

管理员

自由的灵魂

积分
107438
主题
5631
回帖
26662
注册时间
2003-4-10
最后登录
2026-10-2
[array viewthread_sidebottom/5]
发表于 2015-5-10 16:12:11 | 显示全部楼层 [array viewthread_postheader/5]
[ad thread/a_pt/2/5]
[array viewthread_posttop/5]
[ad thread/a_pr/3/5]我看文章中说的都是“程序”所占的内存,所以认为不同的程序对于内存的占用比例是不同的。
[array viewthread_postbottom/5]
不懂就搜!点此搜点拨论坛。如果本坛没有,请尝试点此问AI,或跟帖提问。
发帖前注意看置顶帖。
不定期借助AI对点拨论坛陈年老帖进行挖坟回复,打扰勿怪!
[array viewthread_postsightmlafter/5][ad thread/a_pb/1/5]
草率的提问只能得到草率的回答
回复 顶 踩 [array viewthread_postfooter/5]

使用道具 举报 [array viewthread_postaction/5]

[ad interthread/a_p/5]
[array viewthread_endline/5]
[array viewthread_avatartop/6]
[array viewthread_avatar/6]
  • 打卡等级:无名新人
[array viewthread_sidetop/6]

51

威望

5196

金钱

229

贡献

管理员

孤魂野草

积分
6475
主题
168
回帖
2211
注册时间
2011-12-18
最后登录
2026-8-18
QQ
[array viewthread_sidebottom/6]
 楼主| 发表于 2015-5-10 18:56:33 | 显示全部楼层 [array viewthread_postheader/6]
[ad thread/a_pt/2/6]
[array viewthread_posttop/6]
[ad thread/a_pr/3/6]
IsaacZ 发表于 2015-5-10 16:12
我看文章中说的都是“程序”所占的内存,所以认为不同的程序对于内存的占用比例是不同的。

当然不一样。程序占用内存,是因为程序需要变量来存储数据。不同的程序需要处理的数据有多有少,占用的内存的大小也不一样。
[array viewthread_postbottom/6]
[array viewthread_postsightmlafter/6][ad thread/a_pb/1/6]
您的问题越精确,我的回答越准确!
回复 顶 踩 [array viewthread_postfooter/6]

使用道具 举报 [array viewthread_postaction/6]

[ad interthread/a_p/6]
[array viewthread_endline/6]
[array viewthread_avatartop/7]
[array viewthread_avatar/7]
  • 打卡等级:本地老炮
[array viewthread_sidetop/7]

9337

威望

7452

金钱

1万

贡献

管理员

自由的灵魂

积分
107438
主题
5631
回帖
26662
注册时间
2003-4-10
最后登录
2026-10-2
[array viewthread_sidebottom/7]
发表于 2015-5-10 22:19:23 | 显示全部楼层 [array viewthread_postheader/7]
[ad thread/a_pt/2/7]
[array viewthread_posttop/7]
[ad thread/a_pr/3/7]
伤心的笔 发表于 2015-5-10 18:56
当然不一样。程序占用内存,是因为程序需要变量来存储数据。不同的程序需要处理的数据有多有少,占用的内 ...

因此才希望利用具体的程序来演示这其中的差异,这样像我这样的门外汉就能比较好懂一些了。
[array viewthread_postbottom/7]
不懂就搜!点此搜点拨论坛。如果本坛没有,请尝试点此问AI,或跟帖提问。
发帖前注意看置顶帖。
不定期借助AI对点拨论坛陈年老帖进行挖坟回复,打扰勿怪!
[array viewthread_postsightmlafter/7][ad thread/a_pb/1/7]
发现掉链,请直接回帖报告。
回复 顶 踩 [array viewthread_postfooter/7]

使用道具 举报 [array viewthread_postaction/7]

[ad interthread/a_p/7]
[array viewthread_endline/7]
[array viewthread_avatartop/8]
[array viewthread_avatar/8]
  • 打卡等级:无名新人
[array viewthread_sidetop/8]

51

威望

5196

金钱

229

贡献

管理员

孤魂野草

积分
6475
主题
168
回帖
2211
注册时间
2011-12-18
最后登录
2026-8-18
QQ
[array viewthread_sidebottom/8]
 楼主| 发表于 2015-5-11 19:28:14 | 显示全部楼层 [array viewthread_postheader/8]
[ad thread/a_pt/2/8]
[array viewthread_posttop/8]
[ad thread/a_pr/3/8] 本帖最后由 伤心的笔 于 2015-5-11 19:30 编辑
IsaacZ 发表于 2015-5-10 22:19
因此才希望利用具体的程序来演示这其中的差异,这样像我这样的门外汉就能比较好懂一些了。

恐怕这个无法用“具体的程序”来说明。
我说一下我的理解:
某个程序A,调用了一个共享组件C,这个C之前已经占了一定的内存,假设占X兆字节,该程序调用C,就可以通过C间接地访问C占用的内存,C占用的内存里面可能有一些有用的数据。同时,程序A自身也需要占用一定的内存,假设占Y兆字节,用来存放只有自己才会用到的数据。(注意,这个Y兆字节,并不一定是程序A当前使用的内存总量,程序A可以向操作系统申请更多内存备用。)然后另一个程序B,也需要调用C,因此也会通过C间接地访问C占用的内存X;同样,B也有自己独享的内存,假设占Z兆字节。然后,系统的内存空间是有限的,操作系统可能会把程序占用的某些内存,从物理内存中移到了硬盘的分页文件(即虚拟内存)中,假设从A中移走了W兆字节,从B中移走了V兆字节。


那么程序A的工作设置内存就是程序A独占的物理内存,加上组件C的内存。即Y-W+X
程序A的内存专用工作集就是程序A独占的物理内存,即Y-W
程序A的提交大小就是程序A独占的内存,包括物理内存和虚拟内存,不包含组件C的内存。即Y

程序B的工作设置内存就是程序B独占的物理内存,加上组件C的内存。即Z-V+X
程序B的内存专用工作集就是程序B独占的物理内存,即Z-V
程序B的提交大小就是程序B独占的内存,包括物理内存和虚拟内存,不包含组件C的内存。即Z



程序A、程序B、组件C,一共占物理内存Y+Z-W-V+X,注意组件C虽然被两个程序使用,但是只占一份内存。(注意,并不是所有的情况下组件C都可以被共享。也有可能程序A和B需要各自复制一个C)


Windows XP任务管理器中,“内存使用”指的是工作设置内存,“虚拟内存使用(翻译错误)”指的是提交大小,即物理内存+虚拟内存。把任务管理器中所有的“内存使用”加起来,得数大于当前物理内存使用量。我以前受XP错误翻译的影响,以为提交大小是虚拟内存占用,其实是物理+虚拟。
Windows 7任务管理器中,默认显示程序占用的内存专用工作集。其余两项可以手动查看。把任务管理器中所有的内存专用工作集加起来,得数小于当前物理内存使用量。

对于一个程序而言,衡量他所占内存的多少,应该看提交大小。金山毒霸曾经宣称自己的杀毒软件只占15M内存,那是不对的,因为他故意只算了内存专用工作集。


另可参考:http://windows.microsoft.com/zh- ... -mean#1TC=windows-7
[array viewthread_postbottom/8]
[array viewthread_postsightmlafter/8][ad thread/a_pb/1/8]
发现掉链,请直接回帖报告。
回复 顶 踩 [array viewthread_postfooter/8]

使用道具 举报 [array viewthread_postaction/8]

[ad interthread/a_p/8]
[array viewthread_endline/8]
[array viewthread_avatartop/9]
[array viewthread_avatar/9]
  • 打卡等级:本地老炮
[array viewthread_sidetop/9]

9337

威望

7452

金钱

1万

贡献

管理员

自由的灵魂

积分
107438
主题
5631
回帖
26662
注册时间
2003-4-10
最后登录
2026-10-2
[array viewthread_sidebottom/9]
发表于 2015-5-11 21:32:46 | 显示全部楼层 [array viewthread_postheader/9]
[ad thread/a_pt/2/9]
[array viewthread_posttop/9]
[ad thread/a_pr/3/9]嗯,现在好懂多了。
[array viewthread_postbottom/9]
不懂就搜!点此搜点拨论坛。如果本坛没有,请尝试点此问AI,或跟帖提问。
发帖前注意看置顶帖。
不定期借助AI对点拨论坛陈年老帖进行挖坟回复,打扰勿怪!
[array viewthread_postsightmlafter/9][ad thread/a_pb/1/9]
点拨网 — 面向新手的教学站
回复 顶 踩 [array viewthread_postfooter/9]

使用道具 举报 [array viewthread_postaction/9]

[ad interthread/a_p/9]
[array viewthread_endline/9]
[string viewthread_middle]
[string viewthread_fastpost_side] [string viewthread_fastpost_content]
[string viewthread_fastpost_func_extra]高级模式 [string viewthread_fastpost_ctrl_extra]
您需要登录后才可以回帖 登录 | 立即注册 [string global_login_text]

本版积分规则 [string viewthread_fastpost_btn_extra]

[string viewthread_bottom]
[ad footerbanner/wp a_f/1][ad footerbanner/wp a_f/2][ad footerbanner/wp a_f/3][ad float/a_fl/1][ad float/a_fr/2][ad couplebanner/a_fl a_cb/1][ad couplebanner/a_fr a_cb/2][ad cornerbanner/a_cn][string global_footer]

QQ|手机版|小黑屋|点拨论坛 [string global_footerlink]|网站地图

GMT+8, 2026-10-2 13:39 , Processed in 0.197791 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表