我正在一台机器(不是虚拟机)上运行 2008r2 EE 版本的 SQL Server,该机器具有 4 个插槽的 Intel\xc2\xae Xeon\xc2\xae 处理器 E7-8880 v3,并启用了超线程。我正在尝试验证处理器和 I/O 的关联性,确保我的应用程序可以在更少的内核上运行,因此我手动设置处理器和 I/O 以平衡使用情况,这样就不会同时使用一个内核运营。然而,一旦我到达第三个 NUMA 节点(即 CPU 64),我只能设置处理器关联性的使用,并且 I/O 关联性会变灰。
\n该文档有点令人困惑,因为它引用了 CPU 而不是核心/处理器,但确实引用了必须设置affinity64 选项来控制处理器 33-64,即使在处理器方面似乎可以在即使 I/O 部分不是 UI,也是如此。我没有发现任何内容表明 I/O 只能绑定到系统的前 64 个核心。
\n我有另一个物理盒子,有两个 CPU 插槽,有 16 个物理核心,启用超线程,每个 CPU 提供 32 个核心。在此服务器上,我能够控制所有核心,无论它们是否是超线程。
\n为什么我无法在所有 128 个可见核心上设置 I/O 关联性?和超线程有关系吗?
\n我正在运行 2008r2 EE 版本的 SQL Server [...]
你也已经失去支持很多年了。祝你这次努力好运。这个“过时”的主题将在这个答案中继续下去,所以我认为指出这一点是合适的。
然而,一旦我到达第三个 NUMA 节点(即 CPU 64),我只能设置处理器关联性的使用,并且 I/O 关联性会变灰。
正确的。I/O 关联性在超过 64 个核心时不可用。为什么?它自创建以来就已被弃用。这是一种类似于基准测试的特殊配置,通常会导致比性能更多的问题。它已被严重弃用,甚至超过 64 个处理器都不再支持它。再说一次,它已经完全过时了,并且仅在您可以在有限的情况下做到这一点的意义上得到支持,尽管这不是一个明智的举动。
该文档有点令人困惑,因为它引用的是 CPU 而不是核心/处理器 [...]
一般而言,CPU 是同一回事,除非另有说明,例如“超线程核心”,它们不是完整的执行单元。我们当中的迂腐者是否想参与辩论取决于他们。大多数可互换使用 cpu/核心/处理器。
我有另一个物理盒子,有两个 CPU 插槽,有 16 个物理核心,启用超线程,每个 CPU 提供 32 个核心。在此服务器上,我能够控制所有核心,无论它们是否是超线程。
正确,因为它是 64 核或更少。
为什么我无法在所有 128 个可见核心上设置 I/O 关联性?
因为尝试使用产品中已弃用且过时的部分(但是,嘿,让我们保留它以实现向后兼容性),该部分在文档中被标记为不能在已有 11 年历史且不再受支持的产品上使用。 11 年前该产品问世时,该硬件还不容易获得,因此该功能并不是为其设计的。
归档时间: |
|
查看次数: |
165 次 |
最近记录: |