
Tenho alguns HP BL460Cs que estão sendo testados para determinar com qual processador queremos usar quando começarmos a atualizar nosso equipamento, e há um problema com essa variável de ambiente em um deles.
O blade está executando o Windows 7 Enterprise, e a variável NUMBER_OF_PROCESSORS relata 14 processadores, mas há dois processadores de 14 núcleos instalados na máquina, então devemos ver o dobro desse número. Consegui verificar se ambos os processadores estão instalados e detectados pela máquina via msinfo32 e gerenciador de dispositivos.
Existe algo que pode estar atrapalhando a forma como a variável é gerada? Qual processo o Windows usa para definir esse número? Eu sei que pode ser editado, mas é apenas redefinido após a reinicialização, então isso realmente não ajuda. Qualquer visão que vocês tenham seria imensamente apreciada.
Atualização: Decidi reconstruir a máquina como Windows 2008R2 para ver se isso mudaria ou corrigiria o problema, mas persistiu. Portanto, a configuração tecnicamente incompatível provavelmente não é a causa.
Responder1
Ok... eu estourealmentecurioso por que você deseja executar o Windows 7 nesses servidores em vez das edições do Windows Server. Você pode fornecer mais detalhes sobre o seu ambiente?
Você está usando umHP ProLiant BL460c Gen9servidor com doismuitosofisticadoProcessadores Intel E5-2697v3 de 14 núcleos.
Enquanto a HP fabricavaservidores blade específicos para estações de trabalhoaté a linha Gen8 ProLiant, ainda não há equivalente Gen9.
Neste ponto, suspeito de algumas coisas:
O Windows 7 Enterprise pode suportar dois soquetes de CPU e 64 núcleos lógicos, mas você está vendo apenas um soquete de CPUs. Suponho que você espera ver 28 núcleos?
O seu sistema está totalmente atualizado do ponto de vista do sistema operacional? Caso contrário, execute todas as atualizações do sistema operacional. Esta é uma nova CPU lançada há algumas semanas em uma plataforma de servidor MUITO nova. Duvido que você encontre outras pessoas com essa combinação de sistema operacional e hardware no momento.
Você está atualizado sobre o firmware do sistema? Caso contrário, atualize-o.
HPnão pretendiapara que esse modelo de servidor seja usado com o Windows 7, isso eliminaria sua capacidade de executar agentes de gerenciamento de integridade e drivers de valor agregado no hardware.
Você pode potencialmente usarDrivers/firmware do Windows 2008 R2para o sistema, mas tudo não é suportado.
Responder2
Pelo que eu sei, $ENV:NUMBER_OF_PROCESSORS
é derivado do WMI, usando:Win32_ComputerSystem.NumberOfLogicalProcessors
Para aumentar a confusão, Win32_ComputerSystem
também informa o número de CPUs físicas como NumberOfProcessors
.
Você pode usar WMIC
o PowerShell para avaliar estes valores:
Get-WmiObject -Class Win32_ComputerSystem|Select NumberOf*
Se sua máquina aparecer NumberOfProcessors
como apenas 1, você pode ter um problema de hardware ou de ativação de licença, já que apenas as edições Enterprise, Professional e Ultimate do Windows 7 reconhecerão mais de uma CPU física
Responder3
O Windows 7 não é um sistema operacional compatível para execução nesse hardware, o que é uma explicação boa o suficiente para mim sobre por que ele não está relatando corretamente o hardware instalado. As outras razões na resposta de Mathiasem última análise, também pode ser a causa, mas, de modo geral, "configuração não suportada" é uma explicação boa o suficiente para fins de administração de sistemas profissionais.
No que diz respeito aos sistemas Windows, apenas os sistemas operacionais Windows Server 2003 e superiores são suportados nos BL460Cs e, nesse caso, na maioria dos hardwares de servidor HP.
Responder4
Justin, postei um comentário anteriormente, mas não foi visto como uma resposta - no entanto, levou à solução para mim, então repostei abaixo com o funcionamento e a solução para ajudá-lo a entender a lógica do meu cenário, e você pode então julgue se você tem o mesmo.
Boa noite, Justin, vejo o mesmo problema com HP proliant blade bl460c geração 9 windows windows 2012 r2. a geração 8 relatou tudo corretamente. Você encontrou uma solução. Minhas descobertas são 'echo %NUMBER_OF_PROCESSORS%' retorna uma resposta incorreta \ inconsistente em comparação com msinfo32, gerenciador de tarefas e até mesmo Get-WmiObject -Class Win32_ComputerSystem | Número*
O número relatado é 8, o número correto é 16.
Tendo discutido com a HP e a Microsoft, isso parece ser devido aos nós NUMA e à intercalação.
foi resolvido inserindo o bies e definindo a 'intercalação de nós' como desabilitada. depois disso, a variável '%number_of_processors%' retornou o mesmo número de processadores que as configurações lógicas do taskmaster. Então isso resolveu o problema para mim.
para obter mais informações sobre as configurações NUMA, consulte:http://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).aspx