Question: One of the prerequisites of an application install is to have SQL Server 2012 Enterprise Installed .There are also some OS based prerequisites. One of these is to have hyperthreading turned off. I’ve spoken to the server engineers who’ve confirmed hyperthreading is turned off from the BIOS.
How can I check from the OS if hyperthreading is turned off?
When I check in the SQL Server Error Logs there is an entry at SQL Server start up which although gives some information doesn't fully answer my question :
SQL Server detected 1 sockets with 14 cores per socket and 14 logical processors per socket, 16 total logical processors; using 16 logical processors based on SQL Server licensing.
Answer: The method I use involves wmic (Windows Management Instrumentation) . A widely used command is :
Wmic CPU Get NumberOfCores,NumberOfLogicalProcessors /Format:List,
If the Number of Core equals the number of logical processors is the same hyperthreading is turned off.
The alternative method is to use Amount of sql server processors with sys.dm_os_schedulers