我获得了一个具有 8 个逻辑处理器的 VMware ESXi VM(运行 Windows Server 2016 SE),但我无法判断该 VM 是否是超线程的。(这对 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
wmic
说有四个 CPU,每个 CPU 有两个内核。每个核心上有两个逻辑处理器是否意味着 HT 被禁用?
由于您是在询问 SQL Server,因此查看 Windows 是否使用超线程的最简单方法是通过查看 DMV sys.dm_os_sys_info来询问 SQL Server :
如果您的逻辑核心数更高(双倍),则 Windows 正在对核心进行超线程处理。由于您在 VMware 上运行 VM,我希望您会看到逻辑和物理内核是相同的。超线程可能仍由 VMware 在主机上的虚拟化层实现。
要看到这一点,只需进入 vCenter 并查找主机。