NUMBER_OF_PROCESSORS 環境變數是如何產生的?

NUMBER_OF_PROCESSORS 環境變數是如何產生的?

我有幾個 HP BL460C,正在對其進行測試,以確定在開始升級裝置時要使用哪個處理器,其中一個的環境變數有問題。

該刀片運行 Windows 7 Enterprise,NUMBER_OF_PROCESSORS 變數報告 14 個處理器,但電腦中安裝了兩個 14 核心處理器,因此我們應該看到該數字的兩倍。我能夠透過 msinfo32 和裝置管理員驗證機器是否已安裝並偵測到兩個處理器。

是否有什麼東西可能會擾亂變數的生成方式? Windows 使用什麼程序來設定這個數字?我知道它可以編輯,但它只是在重新啟動後重置,所以這並沒有真正的幫助。如果你們有任何見解,我們將不勝感激。

更新:決定將電腦重建為 Windows 2008R2,以查看是否會更改或解決問題,但問題仍然存在。因此,技術上不相容的配置可能不是原因。

答案1

好吧...我是真的很好奇為什麼您想在這些伺服器上執行 Windows 7 而不是 Windows 伺服器版本。您能否提供更多有關您的環境的細節?

您正在使用一個HP ProLiant BL460c Gen9伺服器有兩個非常高階英特爾 E5-2697v3 14 核心 CPU

雖然惠普製造工作站專用刀鋒伺服器在 Gen8 ProLiant 系列之前,還沒有 Gen9 同等產品。

此刻,我懷疑有幾點:

  • Windows 7 Enterprise 可以支援兩個 CPU 插槽和 64 個邏輯核心,但您只能看到一個插槽的 CPU。我想您希望看到 28 個核心?

  • 從作業系統的角度來看,您的系統是否已完全更新?如果沒有,請執行所有作業系統更新。這是幾週前在非常新的伺服器平台上發布的新 CPU。我懷疑您現在是否會找到其他人擁有這種作業系統和硬體的組合。

  • 您的系統韌體是最新的嗎?如果沒有,請更新。

  • 生命值無意對於要與 Windows 7 一起使用的此伺服器型號,這樣做會破壞您在硬體上執行健康管理代理程式和增值驅動程式的能力。

  • 您可以潛在地使用Windows 2008 R2 驅動程式/韌體對於系統,但都不支援。

答案2

據我所知,$ENV:NUMBER_OF_PROCESSORS是從WMI派生的,使用:Win32_ComputerSystem.NumberOfLogicalProcessors

更令人困惑的是,Win32_ComputerSystem也將實體 CPU 的數量報告為NumberOfProcessors

您可以使用WMICPowerShell 來評估這些值:

Get-WmiObject -Class Win32_ComputerSystem|Select NumberOf*

如果您的電腦NumberOfProcessors僅顯示 1,則可能存在硬體問題或授權啟動問題,因為只有 Windows 7 的企業版、專業版和旗艦版才能識別多個實體 CPU

答案3

Windows 7 不是支援在該硬體上運行的作業系統,這對我來說已經足夠解釋為什麼它沒有正確報告您安裝的硬體了。 馬蒂亞斯回答中的其他原因最終也可能是原因,但一般來說,「不受支援的配置」對於專業系統管理目的來說是一個足夠好的解釋。

就 Windows 系統而言,BL460C 以及大多數 HP 伺服器硬體僅支援 Windows Server 作業系統 2003 及更高版本。

答案4

賈斯汀,我之前發表了一條評論,但它沒有被視為答案- 然而它確實為我自己找到了解決方案,所以我在下面重新發布了工作原理和解決方案,以幫助您理解我的場景的邏輯,然後您可以判斷是否有相同的。

賈斯汀晚上 我在 HP Proliant Blade BL460C Generation 9 Windows Windows 2012 R2 上看到了同樣的問題。第8代正確地報告了一切。你找到解決方法了嗎。我的發現是「echo %NUMBER_OF_PROCESSORS%」與 msinfo32、taskmanager 甚至 Get-WmiObject -Class Win32_ComputerSystem 相比傳回不正確\不一致的回應 | FL 數量*

報告的數字是 8,正確的數字是 16。

與 HP 和 Microsoft 討論過,這似乎是由於 NUMA 節點和交錯造成的。

透過輸入 bies 並將「節點交錯」設為停用來解決此問題。此後,「%number_of_processors%」變數傳回與邏輯任務主機設定相同數量的處理器。所以這為我解決了這個問題。

有關 NUMA 設定的更多信息,請參閱:http://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).aspx

相關內容