
Ich habe ein paar HP BL460Cs getestet, um festzustellen, welchen Prozessor wir beim Upgrade unserer Geräte verwenden möchten. Bei einem davon gibt es ein Problem mit dieser Umgebungsvariable.
Auf dem Blade läuft Windows 7 Enterprise und die Variable NUMBER_OF_PROCESSORS meldet 14 Prozessoren, aber in der Maschine sind zwei 14-Core-Prozessoren installiert, also müsste die doppelte Zahl angezeigt werden. Ich konnte über msinfo32 und den Gerätemanager überprüfen, ob beide Prozessoren installiert und von der Maschine erkannt wurden.
Gibt es etwas, das die Generierung der Variable durcheinanderbringen könnte? Welchen Prozess verwendet Windows überhaupt, um diese Nummer festzulegen? Ich weiß, dass sie bearbeitet werden kann, aber sie wird nach dem Neustart einfach zurückgesetzt, also hilft das nicht wirklich. Ich wäre für jede Einsicht, die Sie mir geben können, sehr dankbar.
Update: Habe beschlossen, die Maschine als Windows 2008R2 neu zu erstellen, um zu sehen, ob sich das Problem dadurch ändern oder beheben lässt, aber es blieb bestehen. Die technisch inkompatible Konfiguration ist also wahrscheinlich nicht die Ursache.
Antwort1
Okay... ich binWirklichIch bin neugierig, warum Sie auf diesen Servern Windows 7 und nicht Windows Server-Editionen ausführen möchten. Können Sie nähere Angaben zu Ihrer Umgebung machen?
Sie verwenden einHP ProLiant BL460c Gen9Server mit zweisehrhochwertigIntel E5-2697v3 14-Core-CPUs.
Während HP produziertearbeitsplatzspezifische Blade-ServerBis zur Gen8-ProLiant-Reihe gibt es noch kein Gen9-Äquivalent.
An diesem Punkt habe ich ein paar Vermutungen:
Windows 7 Enterprise unterstützt zwei CPU-Sockel und 64 logische Kerne, aber Sie sehen nur die CPUs eines Sockels. Sie erwarten wohl 28 Kerne?
Ist Ihr System aus Sicht des Betriebssystems vollständig aktualisiert? Wenn nicht, führen Sie bitte alle Betriebssystem-Updates aus. Dies ist eine neue CPU, die vor ein paar Wochen auf einer SEHR neuen Serverplattform veröffentlicht wurde. Ich bezweifle, dass Sie derzeit andere Leute mit dieser Kombination aus Betriebssystem und Hardware finden werden.
Ist Ihre Systemfirmware auf dem neuesten Stand? Falls nicht, aktualisieren Sie sie.
HPnicht beabsichtigtfür die Verwendung dieses Servermodells mit Windows 7. Dadurch würden Sie nicht mehr in der Lage sein, Integritätsverwaltungsagenten und Mehrwerttreiber auf der Hardware auszuführen.
Sie können möglicherweise verwendenTreiber/Firmware für Windows 2008 R2für das System, aber es wird alles nicht unterstützt.
Antwort2
Soweit ich weiß, $ENV:NUMBER_OF_PROCESSORS
ist es von WMI abgeleitet und verwendet:Win32_ComputerSystem.NumberOfLogicalProcessors
Um die Verwirrung noch zu steigern, Win32_ComputerSystem
wird die Anzahl der physischen CPUs auch als gemeldet NumberOfProcessors
.
Sie können WMIC
PowerShell verwenden, um die folgenden Werte zu ermitteln:
Get-WmiObject -Class Win32_ComputerSystem|Select NumberOf*
Wenn auf Ihrem Computer NumberOfProcessors
nur 1 angezeigt wird, liegt möglicherweise entweder ein Hardwareproblem oder ein Problem mit der Lizenzaktivierung vor, da nur die Enterprise-, Professional- und Ultimate-Editionen von Windows 7 mehr als eine physische CPU erkennen.
Antwort3
Windows 7 ist kein unterstütztes Betriebssystem für diese Hardware, was für mich eine ausreichende Erklärung dafür ist, warum die Angaben zu Ihrer installierten Hardware nicht korrekt sind. Die weiteren Gründe in Mathias‘ Antwortkann letztendlich auch die Ursache sein, aber im Allgemeinen ist „nicht unterstützte Konfiguration“ für professionelle Systemadministrationszwecke eine ausreichend gute Erklärung.
Was Windows-Systeme betrifft, werden auf den BL460Cs und im Übrigen auf der meisten HP-Server-Hardware nur Windows Server-Betriebssysteme ab 2003 unterstützt.
Antwort4
Justin, ich habe vorhin einen Kommentar gepostet, der jedoch nicht als Antwort angesehen wurde. Allerdings hat er für mich selbst zu einer Lösung geführt, daher habe ich ihn unten noch einmal mit der Vorgehensweise und der Lösung gepostet, damit Sie die Logik meines Szenarios besser verstehen und dann beurteilen können, ob Sie dasselbe Szenario haben.
Guten Abend, Justin, ich habe das gleiche Problem mit HP ProLiant Blade BL460C Generation 9 Windows Windows 2012 R2. Die Generation 8 hat alles korrekt gemeldet. Hast du eine Lösung gefunden? Meine Ergebnisse sind, dass „echo %NUMBER_OF_PROCESSORS%“ eine falsche \ inkonsistente Antwort im Vergleich zu msinfo32, Taskmanager und sogar Get-WmiObject -Class Win32_ComputerSystem | fl Number* zurückgibt.
Die gemeldete Zahl ist 8, die korrekte Zahl ist 16.
Nach Rücksprache mit HP und Microsoft scheint dies an NUMA-Knoten und Interleaving zu liegen.
es wurde gelöst, indem ich die BIES eingab und „Knoten-Interleaving“ deaktivierte. Danach gab die Variable „%number_of_processors%“ dieselbe Anzahl von Prozessoren zurück wie die logischen Taskmaster-Einstellungen. Damit war das Problem für mich gelöst.
Weitere Informationen zu NUMA-Einstellungen finden Sie unter:http://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).aspx