对 64 个以上逻辑处理器使用任务管理器

用户体验团队的小组项目经理 Ryan Haveson 想要告诉大家自 Windows 开发人员预览版发布以来,任务管理器的一些最新进展。在本博文中,您将了解最新任务管理器工具,它可以管理具有大量逻辑处理器的系统。这些工具不再局限于针对桌面 PC,而是同时适用于服务器和数据中心。Windows 开发的很大一部分工作都是为了使操作系统能够跨各种外形尺寸和 CPU 体系结构进行缩放。

有关评论的注意事项:请遵照社区标准发表评论。在此提醒,除自动化的垃圾邮件防护外,我们不会对评论进行任何审查。–Steven Sinofsky

我们在以前的一篇博文中讨论过新的任务管理器,并且许多人已经安装了开发人员预览版并亲身体验了新的任务管理器。有些人对该主题很感兴趣,因此我们希望与您快速分享一下在我们的日常内部版本中出现的功能,将来在发布 Beta 的版本中您可以亲自看到这些功能。

下面的图形与一个功能有关,有权访问具有许许多多逻辑处理器的 mega-PC 设置的服务器管理员和用户经常向我们询问这个功能。需要提前说明的重要一点是,此处我们讨论的是逻辑处理器,因此如果您的系统具有超线程功能,您将会看到每个物理处理器都有多个逻辑处理器。

对于有权访问其中某个多处理器系统的用户,肯定知道 Windows 7 中的任务管理器图表存在一些局限性:

  • 缺乏实时比较: 当查看许许多多逻辑处理器的 CPU 图表时,其不规则性会让您头晕眼花。按当前的显示比例,很难通过比较 60 秒时段内的 CPU 利用率移动折线图来了解所发生的情况。
  • 微小的图表: 当逻辑处理器数目达到 64 个以上时,图表就变得相当小。如果您尝试找出哪些处理器正被过度使用,必须眯着眼睛才能看清。当逻辑处理器数目超过 256 个时,几乎根本无法看清图表。
  • 查找处理器 ID: 如果您查看不规则图表,将无法轻易地获得相应的处理器 ID。

下面是具有 160 个逻辑处理器的系统上的 Windows 7 任务管理器的 CPU 性能选项卡。

CPU 使用记录表包含 160 个极小的单元格,每个都显示一个移动的使用率折线图。
图 1:显示 160 个逻辑处理器的旧任务管理器

如您所见,确实很难比较 CPU 使用记录表中的各个单元格。这些图表很难看清楚,如果您想比较即时的 CPU 利用率,几乎不可能办到,因为每个单元格都显示的是 60 秒内的移动图表。此外,CPU 使用记录表中的所有图表看起来都相同,因此您无法轻易地找出某个特定图表的处理器 ID。在之前介绍任务管理器的博文中,我们讨论了使用热度图作为直观方式来传达和比较大量数值数据的好处。当我们为新性能仪表板的“多内核视图”设计图表时,热度图自然最为合适。

在下面几个从 Windows 8 的当前内部版本获得的屏幕截图中,现在很容易一眼就看到所有逻辑处理器,并且知道各个处理器利用率的高低。

(注意:下面的屏幕截图显示承载有模拟的工作负载的 160 个逻辑处理器所在系统上的任务管理器。)

“性能”选项卡有 7 个视图:CPU、内存、磁盘 0、磁盘 4、磁盘 8、以太网和以太网。在 CPU 视图中,逻辑处理器表采用的是热度图的形式,通过一个数字和相应的颜色在每个单元格中指示使用率百分比。
图 2:显示 160 个逻辑处理器的新任务管理器

在新的 CPU 图中,您还可以将光标停留在条目上,通过工具提示获取该条目所对应的逻辑处理器 ID。

使用率为 100% 时条目的工具提示显示为“CPU 0 (节点 5)”
图 3:显示逻辑处理器 ID 的工具提示

热度图的一个主要好处在于它能够很好地容纳大型数据集。新的任务管理器将显示操作系统支持的任意数量的逻辑处理器(最多可达 640 个!)。为了确保您始终能清楚地查看信息,当数据太多,窗口显示不下时,热度图会调整到最适合的大小并根据需要显示滚动条。

热度图仍然很容易看清,因为它显示 13 行 9 列数据,并带有滚动条,便于您查看前 13 行下面的其他单元格
图 4:当存在 160 个逻辑处理器时,CPU 图使用滚动条调整比例

对于确实希望(微)管理系统的每一个细节的用户来说,甚至可以设置每个进程可使用哪些逻辑处理器。为此,您首先需要将光标停留在热度图中的某个单元格上,以查找逻辑内核的 ID,然后转到“详细信息”选项卡,右键单击所需的进程,然后单击“设置相关性”。

用户在任务管理器的“详细信息”选项卡上右键单击了“iexplore.exe”,这将打开包含以下命令的上下文菜单:打开文件位置、结束进程、结束进程树、调试、UAC 虚拟化、创建转储文件、设置优先级、设置相关性(图中所示)、分析等待链、联机搜索、属性和转到服务。
图 5:从“详细信息”选项卡中设置进程相关性

对话框显示“允许哪些处理器运行"iexplore.exe"”?“处理器组”有一个下拉列表,设置为“组 0”。下面是一组 CPU 0 (节点 0)、CPU 1 (节点 0)、CPU 2 (节点 0) 等等此类的复选框和“确定”/“取消”按钮。
图 6:为进程选择逻辑处理器

当然,设置处理器相关性仅适用于需要或希望获得该控制级别的高级技术用户 — 如果不知道自己在做什么,则会严重影响系统的电源管理和性能 — 因此我们确保操作系统能够很好地替您做出决定。没有哪种算法比 Windows 使用的精密算法更胜一筹,这些算法可自动管理根据硬件容量和拓扑向每个逻辑处理器分配的进程。

--Ryan Haveson