La mia VM è hyperthreaded?

Oct 19 2020

Mi è stata fornita una VM VMware ESXi (con Windows Server 2016 SE) con 8 processori logici, ma non posso dire se la VM è hyperthread. (Questo è importante per SQL Server.)

C:\Users\XXXXXXX>wmic CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors
DeviceID  NumberOfCores  NumberOfLogicalProcessors
CPU0      2              2
CPU1      2              2
CPU2      2              2
CPU3      2              2

wmicdice che ci sono quattro CPU ciascuna con due core. Il fatto che ci siano due processori logici su ogni core significa che HT è disabilitato?

Risposte

2 AMtwo Nov 02 2020 at 17:02

Poiché stai chiedendo in termini di SQL Server, il modo più semplice per vedere se Windows utilizza l'hyperthreading è chiedere a SQL Server guardando il DMV sys.dm_os_sys_info :

SELECT 
     LogicalCoreCount = cpu_count,
     PhysicalCoreCount = socket_count * cores_per_socket
FROM sys.dm_os_sys_info;

Se il numero di core logici è maggiore (doppio), Windows sta eseguendo l'hyperthreading dei core. Poiché stai eseguendo una VM su VMware, mi aspetto che i core logici e fisici siano gli stessi. L'hyperthreading potrebbe ancora essere implementato a livello di virtualizzazione sull'host da VMware.

Per vederlo, vai in vCenter e cerca l'host.

  1. Accedere all'host nel navigatore di vSphere Web Client.
  2. Fare clic su Configura ed espandere Hardware.
  3. Selezionare Processori per visualizzare le informazioni sul numero e sul tipo di processori fisici e sul numero di processori logici.