如何解读Windows任务管理器?

66

我运行的是Windows 7 RC1版本,使用的与Vista相同的任务管理器。当我查看进程时,有一些列我不确定它们之间的区别:

  • 内存 - 工作集
  • 内存 - 私有工作集
  • 内存 - 提交大小

有人能告诉我它们是什么吗?


6
这是一个合理的问题,但最好在superuser.com上提问。 - Aron Rotteveel
12
这个问题在这里是有效的,因为我们应该了解操作系统如何处理内存,对吧? - dfa
5
我对这里感到满意。在追踪内存泄漏时,我经常以同样困惑的眼光查看这些值! - spender
1
也许吧...但它并没有与编程直接相关联。所以把它放在超级用户可能会更好? - Kirill Strizhak
5个回答

77
根据下面的文章,在“内存使用类型”一节中提到了两种主要的内存使用类型:工作集和私有工作集。私有工作集是进程使用的不能与其他进程共享的内存量,而工作集则包括由其他进程共享的内存。这可能听起来有些混乱,让我们试着简化一下。假设有两个孩子在涂色,他们各自拥有5支蜡笔。他们决定分享一些蜡笔,这样他们就有更多颜色可选。当询问每个孩子使用了多少蜡笔时,他们都说使用了7支蜡笔,因为他们各自分享了2支蜡笔。比喻的重点是,如果不知道两个孩子正在分享,人们可能会认为总共有14支蜡笔,但实际上只有10支蜡笔可用。以下是详细说明:
  • 工作集:包括所有共享的蜡笔,因此总数为14支。
  • 私有工作集:仅包括每个孩子拥有的蜡笔,不反映每张图片实际使用的数量。因此,总数为10支。
这是一个很好的比喻,说明内存如何测量。许多应用程序重复使用您系统上已有的代码,因为最终它有助于减少整体内存消耗。如果您查看工作集内存使用情况,您可能会感到困惑,因为您所有运行的进程实际上可能加起来超过您安装的RAM量,这与上面的蜡笔比喻相同。自然地,工作集总是比私有工作集大。

28

工作集

工作集是仅驻留在物理内存中的虚拟页面子集;这将是该进程的部分页面数量。

专用工作集

专用工作集是进程使用的不能与其他进程共享的内存量。

提交大小

为进程保留的虚拟内存量。

您可以在microsoft.com上找到有关其他内存类型的更多详细信息。


5
“工作集”是进程当前在物理内存中的内存量。换句话说,访问“工作集”中的任何页面都不会导致页面错误,因为该页面在RAM中。
至于另外两个,我不是100%确定,可能“工作集”包含可共享的内存,例如内存映射文件,“私有工作集”仅包含进程可以使用且不可共享的页面。
请访问此网站并搜索演讲者“Dave Solomon”。他提供了一次非常好的网络研讨会,解释了Windows内存,其中提到了工作集、提交大小和其他内存术语。
编辑:
这些网站链接确实失效了:(
相反,您可以在Google上搜索

vimeo david solomon windows

这些相同的视频现在似乎可以在Vimeo上观看,很酷。

谢谢你的提示。我已经更新了我的答案,以反映该网站链接已失效。 - Jason Evans

2

如果您从任务管理器中打开资源监视器,在感兴趣的进程列标题上悬停鼠标会显示一个非常详细的工具提示。

例如: 提交大小(KB):操作系统为该进程保留的虚拟内存大小,以 KB 为单位。

等等。


0

2
最详细的 -- 好吧,它以简洁的方式描述了列;-) - Wolf
2
此链接已经失效。 - Sunil Purushothaman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接