63

我运行 Windows 7 RC1,它使用与 Vista 相同的 WTM。当我查看流程时,有一些列我不确定有什么区别:

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

谁能告诉我它们是什么?

4

5 回答 5

70

在以下文章中,在内存使用类型部分下:

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

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

这个比喻的要点是,如果他们不知道两个孩子在分享,他们可能会假设总共有 14 支蜡笔,但实际上只有 10 支蜡笔可用。这是纲要:

  • 工作集:这包括所有共享的蜡笔,所以总数为 14。
  • 私人工作集:这仅包括每个孩子拥有的蜡笔,并不反映每张照片中实际使用了多少。因此总数为 10。

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

于 2009-07-23T09:50:00.363 回答
25

工作集

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

私人工作集

私有工作集是一个进程使用的不能在其他进程之间共享的内存量

提交大小

保留供进程使用的虚拟内存量。

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

于 2009-07-23T09:56:16.687 回答
5

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

至于其他两个,我不确定 100%,可能“工作集”包含可共享内存,例如内存映射文件,而“私有工作集”仅包含进程可以使用且不可共享的页面。

看看这个网站并搜索演讲者“Dave Solomon”。他提供了一个出色的网络广播,解释了 Windows 内存,并提到了工作集、提交大小和其他内存术语。

编辑:

那些网站链接确实已经死了:(

相反,您可以在 Google 上搜索

vimeo 大卫所罗门窗口

这些相同的视频现在看起来可以在 Vimeo 上播放,这很酷。

于 2009-07-23T09:43:59.550 回答
2

如果您从 WTM 打开资源监视器,将鼠标悬停在有趣进程的各个列标题上会显示一个非常有用的工具提示。

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

等等

于 2015-07-15T18:29:56.987 回答
0

微软的这篇文章似乎是最详细的。

2018 年 10 月编辑: 新链接

于 2014-07-25T09:32:04.523 回答