我们的HP XL230a Gen9刀片有一个问题,其中一些应用只能看到一半的CPU。 在任务pipe理器上,我们看到所有56个内核,但应用程序只看到其中的一半。 在NUMBER_OF_PROCESSORS = 28环境variables上我们也看到了一半的CPU。
我们在BIOS中启用节点交错,并解决了我们的问题,即所有的应用程序可以看到所有的56个核心
在超线程和非超线程刀片(Windows 2008 R2和Windows 2012)上都可以看到这个问题,并且通过节点交叉来解决这个问题。
我发现了一个C ++的例子,它使用GetSystemInfo()和GetNativeSystemInfo()方法来获得可用的内核,而且当节点交错被禁用时,也只显示了28。
我们也应用了最新的固件/ BIOS更新,但仍然是一样的。 我们正在联系惠普公司,但只是想知道其他人是否看到过这样的事情,如果有办法解决它与节点交错=禁用?
谢谢
这个新的ProLiant硬件看起来好像人们在Microsoft操作系统下面有NUMA问题。 如果其他供应商(戴尔/ IBM)看到这个与英特尔E5 v3处理器,我会好奇。
请参阅以下评论和答案:
无法在C#应用程序中为我的线程使用多个处理器组
和
NUMBER_OF_PROCESSORSvariables是如何生成的?
基本上, 将固件升级到1.30_12-24-2014(2015年3月30日)修订版 。