我有几台 HP BL460C 正在接受测试,以确定我们在开始升级设备时要使用的处理器,其中一台的环境变量存在问题。
该刀片运行的是 Windows 7 Enterprise,NUMBER_OF_PROCESSORS 变量报告了 14 个处理器,但机器中安装了两个 14 核处理器,因此我们应该看到这个数字翻了一番。我能够通过 msinfo32 和设备管理器验证机器是否安装并检测到两个处理器。
有什么东西可能会影响变量的生成方式吗?Windows 甚至使用什么过程来设置这个数字?我知道它可以编辑,但它只是在重新启动后重置,所以这并没有真正的帮助。你们的任何见解将不胜感激。
更新:决定将机器重建为 Windows 2008R2 以查看它是否会改变或修复问题,但它仍然存在。因此,技术上不兼容的配置可能不是原因。
据我所知,
$ENV:NUMBER_OF_PROCESSORS
它是从 WMI 派生的,使用:Win32_ComputerSystem.NumberOfLogicalProcessors
更令人困惑的是,
Win32_ComputerSystem
还将物理 CPU 的数量报告为NumberOfProcessors
.您可以使用
WMIC
PowerShell 或 PowerShell 来评估这些值:如果您的机器
NumberOfProcessors
仅显示为 1,则您可能遇到硬件问题或许可证激活问题,因为只有 Windows 7 的 Enterprise、Professional 和 Ultimate 版本才能识别多个物理 CPU好的...我真的很好奇您为什么要在这些服务器上运行 Windows 7 而不是 Windows 服务器版本。你能提供更多关于你的环境的细节吗?
您正在使用配备两个非常高端的Intel E5-2697v3 14 核 CPU的HP ProLiant BL460c Gen9服务器。
虽然 HP 在 Gen8 ProLiant 系列之前一直生产工作站专用刀片服务器,但目前还没有 Gen9 同类产品。
在这一点上,我怀疑一些事情:
Windows 7 Enterprise 可以支持两个 CPU 插槽和 64 个逻辑内核,但您只看到一个插槽的 CPU 价值。我想您希望看到 28 个内核?
从操作系统的角度来看,您的系统是否已完全更新?如果没有,请运行所有操作系统更新。这是几周前在一个非常新的服务器平台上发布的新 CPU。我怀疑你现在会发现其他人使用这种操作系统和硬件的组合。
您是最新的系统固件吗?如果没有,请更新它。
HP不打算将此服务器型号用于 Windows 7,因此这样做会破坏您在硬件上运行健康管理代理和增值驱动程序的能力。
您可能会为系统使用Windows 2008 R2 驱动程序/固件,但均不受支持。
Windows 7 不是在该硬件上运行的受支持操作系统,这足以解释为什么它没有正确报告您安装的硬件。 Mathias 回答中的其他原因最终也可能是原因,但一般来说,“不受支持的配置”对于专业系统管理目的来说是一个足够好的解释。
就 Windows 系统而言,BL460C 仅支持 Windows Server OSes 2003 及更高版本,就此而言,大多数 HP 服务器硬件都支持。
贾斯汀,我早些时候发表了一条评论,但它没有被视为答案 - 但是它确实为我自己带来了解决方案,所以我在下面重新发布了工作原理和解决方案,以帮助您理解我的场景的逻辑,然后您可以判断你是否有相同的。
晚上贾斯汀我看到了与 HP proliant Blade bl460c generation 9 windows windows 2012 r2 相同的问题。第 8 代正确地报告了一切。你找到解决办法了吗。我的发现是 'echo %NUMBER_OF_PROCESSORS%' 与 msinfo32、taskmanager 甚至 Get-WmiObject -Class Win32_ComputerSystem 相比,返回不正确\不一致的响应 | 佛罗里达州号码*
报告的数字是8,正确的数字是16。
与 HP 和 Microsoft 讨论过这似乎是由于 NUMA 节点和交错。
它通过输入 bies 并将“节点交错”设置为禁用来解决。在此之后,“%number_of_processors%”变量返回与逻辑任务管理员设置相同数量的处理器。所以这为我解决了这个问题。
有关 NUMA 设置的更多信息,请参阅: http: //msdn.microsoft.com/en-us/library/windows/desktop/aa363804 (v=vs.85).aspx