
Tengo un par de HP BL460C que se están probando para determinar qué procesador queremos usar cuando comencemos a actualizar nuestro equipo, y hay un problema con esta variable de entorno en uno de ellos.
El blade ejecuta Windows 7 Enterprise y la variable NUMBER_OF_PROCESSORS informa 14 procesadores, pero hay dos procesadores de 14 núcleos instalados en la máquina, por lo que deberíamos ver el doble de ese número. Pude verificar que ambos procesadores están instalados y detectados por la máquina a través de msinfo32 y el administrador de dispositivos.
¿Hay algo que pueda afectar la forma en que se genera la variable? ¿Qué proceso utiliza Windows para establecer este número? Sé que se puede editar, pero simplemente se restablece después del reinicio, por lo que eso no ayuda mucho. Cualquier idea que tengan será inmensamente apreciada.
Actualización: Decidí reconstruir la máquina como Windows 2008R2 para ver si cambiaría o solucionaría el problema, pero persistió. Por lo tanto, es probable que la configuración técnicamente incompatible no sea la causa.
Respuesta1
Está bien... estoyen realidadEs curioso por qué desea ejecutar Windows 7 en estos servidores en lugar de las ediciones de servidor de Windows. ¿Puede darnos más detalles sobre su entorno?
Estás usando unHP ProLiant BL460c Gen9servidor con dosmuygama altaCPU Intel E5-2697v3 de 14 núcleos.
Mientras HP fabricabaservidores blade específicos para estaciones de trabajoHasta la línea Gen8 ProLiant, todavía no existe un equivalente Gen9.
En este punto, sospecho algunas cosas:
Windows 7 Enterprise puede admitir dos zócalos de CPU y 64 núcleos lógicos, pero solo está viendo CPU para un zócalo. ¿Supongo que esperas ver 28 núcleos?
¿Su sistema está completamente actualizado desde la perspectiva del sistema operativo? De lo contrario, ejecute todas las actualizaciones del sistema operativo. Esta es una nueva CPU lanzada hace unas semanas en una plataforma de servidor MUY nueva. Dudo que encuentres otras personas con esta combinación de sistema operativo y hardware en este momento.
¿Está actualizado el firmware del sistema? Si no, actualízalo.
caballos de fuerzano tenía la intenciónPara que este modelo de servidor se use con Windows 7, hacerlo anularía su capacidad para ejecutar agentes de administración de salud y los controladores de valor agregado en el hardware.
Usted puede potencialmente utilizarControladores/firmware de Windows 2008 R2para el sistema, pero no es compatible.
Respuesta2
Hasta donde yo sé, $ENV:NUMBER_OF_PROCESSORS
se deriva de WMI, usando:Win32_ComputerSystem.NumberOfLogicalProcessors
Para aumentar la confusión, Win32_ComputerSystem
también informa la cantidad de CPU físicas como NumberOfProcessors
.
Puede utilizar WMIC
o PowerShell para evaluar estos valores:
Get-WmiObject -Class Win32_ComputerSystem|Select NumberOf*
Si su máquina muestra NumberOfProcessors
solo 1, es posible que tenga un problema de hardware o un problema de activación de licencia, ya que solo las ediciones Enterprise, Professional y Ultimate de Windows 7 reconocerán más de una CPU física.
Respuesta3
Windows 7 no es un sistema operativo compatible para ejecutarse en ese hardware, lo cual es una explicación bastante buena para mí de por qué no informa correctamente sobre el hardware instalado. Las otras razones en la respuesta de MathiasEn última instancia, también puede ser la causa, pero en términos generales, la "configuración no compatible" es una explicación suficientemente buena para fines de administración de sistemas profesionales.
En cuanto a los sistemas Windows, sólo los sistemas operativos Windows Server 2003 y superiores son compatibles con los BL460C y, de hecho, con la mayoría del hardware de servidor HP.
Respuesta4
Justin, publiqué un comentario anteriormente pero no fue visto como una respuesta; sin embargo, me llevó a la solución, por lo que he vuelto a publicar a continuación con el funcionamiento y la solución para ayudarte a comprender la lógica de mi escenario, y luego podrás juzga si tienes el mismo.
Por la noche, Justin, veo el mismo problema con HP proliant blade bl460c generación 9 windows windows 2012 r2. La generación 8 informó todo correctamente. Encontraste una solución. Mis hallazgos son que 'echo %NUMBER_OF_PROCESSORS%' devuelve una respuesta incorrecta \ inconsistente en comparación con msinfo32, taskmanager e incluso Get-WmiObject -Class Win32_ComputerSystem | Número de fl*
El número reportado es 8, el número correcto es 16.
Takings discutió con HP y Microsoft que esto parece deberse a los nodos NUMA y al entrelazado.
se resolvió ingresando el bies y configurando el 'intercalado de nodos' como deshabilitado. después de esto, la variable '%number_of_processors%' devolvió la misma cantidad de procesadores que la configuración lógica del capataz. Entonces esto resolvió el problema para mí.
Para obtener más información sobre la configuración de NUMA, consulte:http://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).aspx