La mia VM è hyperthreaded?
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
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.
- Accedere all'host nel navigatore di vSphere Web Client.
- Fare clic su Configura ed espandere Hardware.
- Selezionare Processori per visualizzare le informazioni sul numero e sul tipo di processori fisici e sul numero di processori logici.