如何在超过 64 个逻辑处理器的 Windows Server(标准版)2012 R2 上运行应用程序

如何在超过 64 个逻辑处理器的 Windows Server(标准版)2012 R2 上运行应用程序

我有一台服务器,其操作系统是 Windows Server 2012 R2(标准版),处理器是两个 Xeon E5 2699 V3。启用超线程后,我有 72 个逻辑处理器。环境变量显示处理器数量为 36,而不是预期的 72。任务管理器显示 2 个插槽、36 个核心和 72 个逻辑处理器。资源监视器显示两个 numa 组,每个组有 36 个 CPU。任务管理器的 setaffinity 显示两个组(组 0 和组 1)。此方法一次只能设置一个组亲和性。

问题是,我如何确保所有 72 个逻辑处理器都可用于在机器上运行的任何应用程序。目前,任何应用程序仅在一个组、一个 numa 组和 50% 的 CPU 中运行。

我读过 msdn 支持超过 64 个处理器的系统,但该文档是 2008 年编写的,具体涉及 Windows 7。有人可以告诉我这与 Windows Server 2012 R2 有多大关系。msdn 文档处理器组和 Numa 支持也是如此。所有这些文档都需要更新以适应当今最新的服务器操作系统。

我希望任何应用程序都能够设置所有必要的要求,以便能够访问和充分使用 72 个逻辑处理器,是否需要设置组处理器、setprocessaffinitymask 或 setthreadaffinitymask 或对具有超过 64 个逻辑处理器的系统的 Numa 支持,我不确定。

相关内容