2009-07-23 96 views
49

我运行Windows 7 RC1,它使用与Vista相同的WTM。当我在看的过程中,我的一些列不知道的区别是:如何解释Windows任务管理器?

  • 记忆 - 工作集
  • 内存 - 私人工作组
  • 内存 - 提交大小

谁能告诉我他们是什么?

+3

虽然这是一个有效的问题,它可能会更好的superuser.com – 2009-07-23 09:36:06

+9

问的这个问题是在这里有效的,因为我们都应该了解操作系统如何处理内存分辩? – dfa 2009-07-23 09:36:56

+4

我很高兴在这里。当追踪内存泄漏时,我经常用同样困惑的眼睛看待这些值! – spender 2009-07-23 09:37:46

回答

47

从以下article,下部分类型的内存使用的:

主要有两种类型的内存使用的是:工作集和私人工作集。私有工作集是一个进程所使用的内存量,不能在其他进程中共享,而工作集包括其他进程共享的内存。

这可能听起来令人困惑,所以让我们尝试简化一下。让我们假装有两个孩子在着色,而这两个孩子都有自己的蜡笔。他们决定分享一些蜡笔,让他们有更多的颜色可供选择。当每个孩子被问及他们使用了多少蜡笔时,他们都说他们使用了7支蜡笔,因为他们每个人都分享了2支蜡笔。

这个比喻的一点是,如果不知道这两个孩子是在分享,那么可以认为总共有14支蜡笔,但实际上只有10支蜡笔可用。这里是概要:

  • 工作组:这包括所有共享的蜡笔,所以总的是14
  • 私人工作集:这仅包括每个孩子拥有蜡笔,并且不反映每幅图片中实际使用的数量。总数是10。

这是一个很好的比较如何测量记忆。许多应用程序会重复使用系统中已有的代码,因为最终它有助于减少整体内存消耗。如果您正在查看工作集的内存使用情况,您可能会感到困惑,因为所有正在运行的进程实际上可能会加起来多于已安装的RAM数量,这与我们上面的蜡笔隐喻相同。自然地,工作集将总是比私人工作集大。

4

'工作集'是进程当前在物理RAM中的内存量。换句话说,访问“工作集”中的任何页面都不会导致页面错误,因为页面在RAM中。

至于另外两个,我不是100%确定的,可能'工作集'包含可共享的内存,如内存映射文件,'私人工作集'只包含进程可以使用的页面,而不是共享。

看看这个site并寻找说话者'Dave Solomon'。他给出了一个很好的网络广播,解释了Windows内存,他提到了工作集,提交大小和其他内存条件。

编辑:

这些网站的链接确实是死:(

相反,你可以谷歌搜索

VIMEO大卫所罗门窗口

那些相同的视频看现在在Vimeo上可用,这很酷。

19

Working set

工作集是常驻在只有物理内存中的虚拟页的子集;这将是来自该进程的部分页面。

Private working set

私人工作集的存储器由不能其他进程之间共享

Commit size一个过程中使用的量:

金额的保留供进程使用的virtual memory

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

1

如果从WTM打开资源监视器,鼠标移动到了有趣的过程的各个列标题会显示一个非常翔实的工具提示。

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