NUMBER_OF_PROCESSORS 환경 변수는 어떻게 생성되나요?

NUMBER_OF_PROCESSORS 환경 변수는 어떻게 생성되나요?

장비 업그레이드를 시작할 때 사용할 프로세서를 결정하기 위해 테스트 중인 HP BL460C 두 대가 있는데 그 중 하나에 이 환경 변수에 문제가 있습니다.

블레이드는 Windows 7 Enterprise를 실행하고 있으며 NUMBER_OF_PROCESSORS 변수는 14개의 프로세서를 보고하지만 시스템에 2개의 14개 코어 프로세서가 설치되어 있으므로 그 숫자가 두 배로 표시되어야 합니다. msinfo32 및 장치 관리자를 통해 두 프로세서가 모두 설치되어 컴퓨터에 감지되는지 확인할 수 있었습니다.

변수가 생성되는 방식을 망칠 수 있는 것이 있습니까? Windows에서는 이 숫자를 설정하기 위해 어떤 프로세스를 사용합니까? 편집할 수 있다는 것을 알고 있지만 재부팅 후 재설정만 되므로 별로 도움이 되지 않습니다. 여러분이 갖고 있는 통찰력은 대단히 감사하겠습니다.

업데이트: 문제가 변경되거나 해결되는지 확인하기 위해 컴퓨터를 Windows 2008R2로 다시 빌드하기로 결정했지만 문제가 지속되었습니다. 따라서 기술적으로 호환되지 않는 구성이 원인이 아닐 가능성이 높습니다.

답변1

알았어... 난정말Windows Server 버전 대신 이러한 서버에서 Windows 7을 실행하려는 이유가 궁금합니다. 귀하의 환경에 대해 더 구체적으로 알려주실 수 있습니까?

당신은HP 프로라이언트 BL460c Gen9두 명이 있는 서버매우고급Intel E5-2697v3 14코어 CPU.

HP가 제조하는 동안워크스테이션별 블레이드 서버Gen8 ProLiant 라인까지는 아직 Gen9와 동등한 제품이 없습니다.

이 시점에서 나는 몇 가지 사실을 의심합니다.

  • Windows 7 Enterprise는 2개의 CPU 소켓과 64개의 논리 코어를 지원할 수 있지만 소켓 1개의 CPU만 표시됩니다. 28개의 코어를 기대하고 계시나요?

  • OS 관점에서 시스템이 완전히 업데이트되었습니까? 그렇지 않은 경우 모든 OS 업데이트를 실행하십시오. 이것은 몇 주 전에 아주 새로운 서버 플랫폼에 출시된 새로운 CPU입니다. 현재 이러한 OS와 하드웨어 조합을 사용하는 다른 사람을 찾을 수 있을지 의문입니다.

  • 시스템 펌웨어가 최신 상태입니까? 그렇지 않은 경우 업데이트하세요.

  • HP의도하지 않았다이 서버 모델을 Windows 7에서 사용하려면 그렇게 하면 하드웨어에서 상태 관리 에이전트와 부가 가치 드라이버를 실행하는 기능이 중단됩니다.

  • 잠재적으로 사용할 수 있습니다Windows 2008 R2 드라이버/펌웨어시스템용이지만 모두 지원되지 않습니다.

답변2

내가 아는 한 다음을 $ENV:NUMBER_OF_PROCESSORS사용하여 WMI에서 파생됩니다.Win32_ComputerSystem.NumberOfLogicalProcessors

혼란을 더하기 위해 Win32_ComputerSystem물리적 CPU 수도 보고합니다 NumberOfProcessors.

WMIC또는 PowerShell을 사용하여 다음 값을 평가할 수 있습니다.

Get-WmiObject -Class Win32_ComputerSystem|Select NumberOf*

컴퓨터가 NumberOfProcessors1로 표시되면 하드웨어 문제나 라이선스 활성화 문제가 있는 것일 수 있습니다. Windows 7의 Enterprise, Professional 및 Ultimate 버전만 두 개 이상의 물리적 CPU를 인식하기 때문입니다.

답변3

Windows 7은 해당 하드웨어에서 실행되도록 지원되는 운영 체제가 아닙니다., 이는 설치된 하드웨어에 대해 올바르게 보고되지 않는 이유에 대한 충분한 설명입니다. Mathias의 답변에 대한 다른 이유궁극적으로 원인일 수도 있지만 일반적으로 말하면 "지원되지 않는 구성"은 전문적인 시스템 관리 목적에 대한 충분한 설명입니다.

Windows 시스템의 경우 BL460C 및 대부분의 HP 서버 하드웨어에서는 Windows Server OSes 2003 이상만 지원됩니다.

답변4

저스틴, 제가 이전에 댓글을 게시했지만 답변으로 보이지 않았습니다. 그러나 그것이 스스로 해결책으로 이어졌기 때문에 제 시나리오의 논리를 이해하는 데 도움이 되는 작업과 솔루션을 아래에 다시 게시했습니다. 그러면 다음을 수행할 수 있습니다. 같은 것이 있는지 판단하십시오.

Evening Justin HP proliant 블레이드 bl460c 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

관련 정보